Cara sing beda kanggo nggawe obyek ing basa Jawa
Sumber:
Sedheng Ing tutorial iki, kita bakal sinau macem-macem cara nggawe obyek ing basa Jawa. Objek Jawa minangka conto saka kelas Jawa. Saben obyek nduweni status, prilaku, lan pengenal. Kolom (variabel) nyimpen kahanan obyek, dene metode (fungsi) nuduhake tumindak obyek. Kelas dadi "blueprints" saka conto obyek digawe nalika runtime.
Nggawe Obyek ing Jawa
Nggawe obyek yaiku proses ngalokasi memori kanggo nyimpen data ing kolom kelas (uga disebut variabel). Proses iki asring diarani nggawe instance saka kelas. Ana papat cara kanggo nggawe obyek ing Jawa:
- nggunakake tembung kunci anyar
- metode newInstance()
- metode clone().
- deserializing obyek
Saiki ayo goleki saben metode sing kasebut kanthi rinci.
Tembung kunci anyar
Iki minangka cara sing paling umum kanggo nggawe obyek ing Jawa. Tembung kunci
anyar nggawe conto kelas kanthi ngalokasi memori kanggo conto anyar saka jinis sing ditemtokake. Sawise anyar teka konstruktor - cara khusus tanggung jawab kanggo nggawe obyek lan initializing kothak obyek digawe. Obyek digawe karo operator
anyar lan diinisialisasi karo konstruktor. Ing ngisor iki conto nggawe obyek Jawa nganggo operator
anyar :
Date today = new Date();
Ekspresi iki ngasilake obyek
Tanggal anyar (
Tanggal minangka kelas ing paket
java.util ). Klausa tunggal ing kode iki nindakake telung operasi: deklarasi, instantiation, lan initialization.
Tanggal dina iki minangka deklarasi variabel sing ngandhani kompiler yen
dina iki bakal ngrujuk menyang obyek jinis
Date . Operator anyar instantiates kelas
Tanggal (nggawe obyek
Tanggal anyar ing memori), lan
Tanggal () initializes obyek. Coba conto ing ngisor iki:
public class Person {
private String name;
private int uid;
public Person() {
this.name = "Michael Cole";
this.uid = 101;
}
public Person(String name, int uid) {
super();
this.name = name;
this.uid = uid;
}
public static void main(String[] args) {
Person p1 = new Person();
Person p2 = new Person("John Bodgan", 102);
System.out.println("Name: " + p1.getName() + " UID: " + p1.getUid());
System.out.println("Name: " + p2.getName() + " UID: " + p2.getUid());
}
}
Saka kode iki, kita nggawe obyek
Person nggunakake tembung kunci
anyar :
- Objek p1 nelpon konstruktor non-parameter kanthi nilai jeneng variabel disetel menyang "Michael Cole" lan UID disetel dadi 101.
- Obyek p2 nelpon konstruktor parameter, ing ngendi nilai kasebut "John Bodgan" lan 102 menyang konstruktor. Nilai kasebut banjur diwenehi jeneng variabel lan UID.
Nggunakake metode newInstance().
Metode
newInstance () ing Jawa digunakake kanggo nggawe conto obyek saka kelas tartamtu kanthi dinamis. Ana rong panggunaan standar metode
newInstance() :
- newInstance () cara saka java.lang.Class API
- cara newInstance () saka java.lang.reflect.Constructor API
Nggunakake newInstance () saka API Kelas
Kanggo nggawe obyek saka kelas ing runtime, kita kudu nelpon
newInstance () cara saka API Kelas, kang ngasilake obyek saka kelas sing. Cara
newInstance () kelas
java.lang.Class ora njupuk paramèter utawa bantahan lan bisa disebut konstruktor ora-argumen kanggo kelas sing. Ayo katon ing sawetara conto kode kanggo nggawe obyek saka kelas
Person nggunakake metode
newInstance () saka kelas
java.lang.Class :
public class Person {
private String name;
private int uid;
public Person() {
this.name = "Carl Max";
this.uid = 101;
}
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
Class c = Class.forName("com.medium.option2.Person");
@SuppressWarnings("deprecation")
Person p = (Person) c.newInstance();
System.out.println("Name: " + p.getName());
System.out.println("UID: " + p.getUid());
}
}
Class.forName (jeneng qualified saka kelas) mbukak kelas jenenge
Person , banjur
newInstance () nggawe obyek anyar saka jinis
Person lan ngasilake referensi kanggo. Saiki, nggunakake referensi
Person kanggo
p , kita bisa nelpon
getters () lan
setter () kanggo nindakake tumindak tartamtu. Tulung dicathet:
- Loro Class.forName () lan newIstance () mbuwang pangecualian sing kudu ditangani kanthi nggunakake blok nyoba lan nyekel utawa tembung kunci mbuwang .
- Metode newInstance() saka API Kelas wis ora digunakake wiwit Java 9.
Nggunakake newInstance () saka API Konstruktor
NewInstance () cara kelas
Constructor (
java.lang.reflect.Constructor ) padha karo
newInstance () cara kelas
Kelas , kajaba sing nampa paramèter kanggo konstruktor parameterized. Ayo nduduhake pendekatan iki kanthi nggawe obyek saka kelas
Person nggunakake metode
newInstance() saka kelas
java.lang.reflect.Constructor :
public class PersonTwo {
private String name;
private int uid;
public PersonTwo() {
this.name = "Maya Kumari";
this.uid = 101;
}
public PersonTwo(String name) {
this.name = name;
this.uid = 102;
}
public PersonTwo(String name, Integer uid) {
this.name = name;
this.uid = uid;
}
public static void main(String[] args) {
try {
Class.forName("com.medium.option2.PersonTwo");
Constructor c1 = PersonTwo.class.getConstructor();
PersonTwo p1 = (PersonTwo) c1.newInstance();
System.out.println("Name: " + p1.getName());
System.out.println("UID: " + p1.getUid());
Constructor c2 = PersonTwo.class.getConstructor(String.class);
PersonTwo p2 = (PersonTwo) c2.newInstance("James Gunn");
System.out.println("Name: " + p2.getName());
System.out.println("UID: " + p2.getUid());
Constructor c3 = PersonTwo.class.getConstructor(String.class, Integer.class);
PersonTwo p3 = (PersonTwo) c3.newInstance("Mark Brown", 103);
System.out.println("Name: " + p3.getName());
System.out.println("UID: " + p3.getUid());
} catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
e.printStackTrace();
}
}
}
Ing kode ndhuwur, pisanan kita kudu mbukak kelas nggunakake
Class.forName () cara . Sabanjure, kita bakal nelpon
getConstructor () cara kanggo cocog jinis data paramèter liwati. Pungkasan, ing metode
newInstance () kita ngliwati parameter sing dibutuhake (
null yen ora ana argumen). Metode
newInstance () bakal ngasilake obyek anyar saka kelas
PersonTwo kanthi nelpon konstruktor sing cocog.
Nggunakake metode clone().
Klone () cara iku bagéan saka kelas
Obyek lan digunakake kanggo nggawe salinan obyek ana. Iku nggawe obyek saka kelas tanpa nelpon sembarang konstruktor kelas. Kanggo kloning metode, kelas sing cocog kudu ngetrapake antarmuka
Cloneable , yaiku antarmuka panandha. Saiki kita bakal nggawe obyek saka kelas
Person banjur clone menyang obyek liyane saka kelas
Person :
public class Person implements Cloneable {
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
private String name;
private int uid;
public Person(String name, int uid) {
super();
this.name = name;
this.uid = uid;
}
public static void main(String[] args) {
Person p1 = new Person("Ryan", 101);
try {
Person p2 = (Person) p1.clone();
System.out.println("Name: " + p2.getName());
System.out.println("UID: " + p2.getUid());
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
}
Cathetan. Obyek kloning bakal ngrujuk obyek asli sing padha liwat referensi
p2 . Nanging, obyek kloning bakal duwe assignment memori kapisah. Iki tegese owah-owahan sing digawe kanggo obyek
Person sing dirujuk dening
p2 ora bakal ngganti obyek
Person asli sing dirujuk dening
p1 . Iki amarga
clone () cara nggawe salinan cethek obyek.
Nggunakake Deserialisasi Objek
Deserialisasi obyek yaiku proses ngekstrak obyek saka seri byte stream. Serialization nindakake ngelawan. Tujuan utamane yaiku kanggo njupuk obyek sing disimpen saka database / jaringan bali menyang memori. Yen kita pengin serialize utawa deserialize obyek, kita kudu ngleksanakake antarmuka
Serializable (antarmuka token). Coba conto ing ngisor iki:
public class PersonDriver {
public static void main(String[] args) {
Person p1 = new Person("Max Payne", 101);
FileOutputStream fileOutputStream;
try {
fileOutputStream = new FileOutputStream("link to text file");
ObjectOutputStream outputStream = new ObjectOutputStream(fileOutputStream);
outputStream.writeObject(p1);
outputStream.flush();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
FileInputStream fileInputStream;
try {
fileInputStream = new FileInputStream("link to text file");
ObjectInputStream inputStream = new ObjectInputStream(fileInputStream);
Person p2 = (Person) inputStream.readObject();
System.out.println("Name: " + p2.getName());
System.out.println("UID: " + p2.getUid());
inputStream.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Kene kita pisanan serialize obyek
Person dening referensi
p1 menyang file teks. Metode
writeObject() bakal nulis stream byte obyek menyang file teks. Banjur, nggunakake deserialization obyek, kita extract obyek
Person bali menyang
p2 . Kajaba iku, cara
readObject () bakal maca obyek saka stream input obyek. Pungkasan, kita bakal nyithak data saka obyek
Person menyang console.
Kesimpulan
Ing artikel iki, kita sinau babagan macem-macem cara nggawe obyek ing basa Jawa. Kaping pisanan, kita ndeleng nggawe obyek nggunakake tembung kunci
anyar , yaiku cara sing paling umum. Kita banjur sinau cara
newInstance() saka kelas
Kelas lan
Konstruktor , yaiku cara populer liyane kanggo nggawe obyek. Kita banjur nggunakake metode
klon () , sing nggawe salinan cethek saka obyek sing ana tinimbang nggawe obyek anyar. Pungkasan, kita nggunakake konsep serialisasi obyek lan deserialization kanggo nggawe obyek ing Jawa.
String to Int in Java - carane ngowahi string dadi integer
Source:
FreeCodeCamp Dina iki sampeyan bakal sinau carane ngowahi string menyang integer ing Jawa nggunakake rong cara saka kelas Integer - parseInt () lan valueOf () . Iki bakal mbantu sampeyan nalika nindakake operasi matematika nggunakake nilai variabel senar.
Carane ngowahi string menyang integer ing Jawa nggunakake Integer.parseInt
Opsi iki nganggep yen metode
parseInt () njupuk string kanggo ngowahi dadi integer minangka parameter:
Integer.parseInt(string_varaible)
Sadurunge ndeleng conto panggunaane, ayo ndeleng apa sing kedadeyan nalika sampeyan nambahake nilai string lan integer tanpa konversi:
class StrToInt {
public static void main(String[] args) {
String age = "10";
System.out.println(age + 20);
}
}
Ing kode iki, kita wis nggawe
umur variabel kanthi nilai senar "10". Nalika kita nambahake angka 20 menyang nilai integer, kita salah nampa 1020 tinimbang jawaban sing bener 30. Iki bisa didandani nggunakake metode
parseInt () :
class StrToInt {
public static void main(String[] args) {
String age = "10";
int age_to_int = Integer.parseInt(age);
System.out.println(age_to_int + 20);
}
}
Kene, kanggo ngowahi variabel umur kanggo integer, kita liwati minangka parameter kanggo
parseInt () cara -
Integer.parseInt (umur) - lan disimpen ing variabel disebut
age_to_int . Saiki yen ditambahake menyang integer liyane, kita entuk tambahan sing bener:
age_to_int + 20 .
Carane ngowahi string menyang integer ing Jawa nggunakake Integer.valueOf
Metode
valueOf() padha karo metode
parseInt() . Dibutuhake minangka parameter string sing kudu diowahi dadi integer. Iki contone:
class StrToInt {
public static void main(String[] args) {
String age = "10";
int age_to_int = Integer.valueOf(age);
System.out.println(age_to_int + 20);
}
}
Ing kode ing ndhuwur sampeyan bisa ndeleng bab sing padha kaya ing bagean sadurunge:
- We liwati string minangka parameter kanggo valueOf() : Integer.valueOf(age) . Iki disimpen ing variabel sing diarani age_to_int .
- Kita banjur nambahake 10 menyang variabel sing digawe: age_to_int + 20 . Asil kasebut 30 tinimbang 1020.
Kesimpulan
Ing artikel iki, kita rembugan ngonversi string menyang integer ing Jawa. Kanggo ngowahi string menyang integer, rong cara saka kelas
Integer digunakake -
parseInt () lan
valueOf () . Sugeng coding!
GO TO FULL VERSION