Jumat, Mei 07, 2021

Beberapa Cara Untuk Menciptakan Objek pada Java

Java menyediakan cetak biru dari object pada pembuatan programnya. Sebuah object dapat diciptakan dari sebuah class. Ada banyak cara yang dapat digunakan untuk menciptakan object pada Java.

Berikut beberapa cara yang dapat digunakan untuk menciptakan objek pada Java:
satu, Menggunakan keyword new: Menggunakan keyword new adalah cara paling dasar untuk menciptakan sebuah object. Cara ini adalah cara yang paling umum untuk menciptakan object pada Java. Hampir 99% dari object yang diciptakan pada Java diciptakan dengan cara tersebut. Dengan menggunakan metode ini, maka dapat dipanggil constructor apapun yang ingin digunakan tanpa menggunakan argument atau parameter constructor.

// Program Java

// mengilustrasikan penciptaan

// dari objek menggunakan

// keyword 'new'.

public class NewKeywordExample 

 

String name = "MakanNasiPadang"

public static void main(String[] args

// Diciptakan sebuah objek

// dari NewKeywordExample

// menggunakan keyword 'new'. 

NewKeywordExample obj = new NewKeywordExample(); 

System.out.println(obj.name); 

}

 

}

Output:
MakanNasiPadang

dua, Menggunakan Instance New: Jika telah diketahui nama dari sebuah class dan jika class tersebut telah dibuat dalam bentuk public default constructor maka dapat diciptakan objek menggunakan Class.forName. Method ini juga bisa digunakan untuk menciptakan object dari sebuah class. Class.forName pada dasarnya akan melakukan load Class dalam Java tetapi tidak menciptakan object apapun. Untuk menciptakan sebuah object dari class harus menggunakan new Instance Method dari class.

// Program Java

// mengilustrasikan penciptaan

// objek menggunakan new

// Instance

public class NewInstanceExample 

{

 

String name = "MakanNasiPadang"

public static void main(String[] args

try

Class cls = Class.forName("NewInstance"

+"Example"); 

NewInstanceExample obj = (NewInstanceExample) cls.newInstance(); 

System.out.println(obj.name);} 

 

catch (ClassNotFoundException e

{ e.printStackTrace(); } 

 

catch (InstantiationException e

{ e.printStackTrace(); } 

  

catch (IllegalAccessException e

{ e.printStackTrace(); } 

}

 

}

Output:
MakanNasiPadang

tiga, Menggunakan clone() method: Dimanapun clone() dipanggil pada sebuah object, maka JVM akan menciptakan object baru dan menduplikasi semua konten dari object terdahulu ke dalam object baru tersebut. Penciptaan sebuah object menggunakan clone method tidak memerlukan constructor apapun.

Untuk menggunakan methodClone() pada sebuah object dibutuhkan implement cloneable dan pendefinisian method clone didalamnya.

// Program Java

// mengilustrasikan penciptaan

// objek menggunakan method

// clone()

public class CloneExample implements Cloneable 

{

 

@Override

protected Object clone() throws CloneNotSupportedException 

{return super.clone();} 

 

String name = "MakanNasiPadang"

 

public static void main(String[] args){ 

CloneExample obj1 = new CloneExample(); 

 

try

CloneExample obj2 = (CloneExample) obj1.clone(); 

System.out.println(obj2.name);} 

 

catch (CloneNotSupportedException e

{ e.printStackTrace(); } 

 

}

 

}

Output
MakanNasiPadang

catatan:
  • Program ini menciptakan duplikasi dari object yang telah diciptakan dan tidak menciptakan object baru.
  • Class membutuhkan implement cloneable interface, jika tidak maka akan mengeluarkan pesan CloneNotSupportedException.

empat, Menggunakan deserialisasi: dimanapun object diserialisasi dan dideserialisasi, JVM akan menciptakan object yang terpisah. Dalam deserialisasi, JVM tidak menggunakan constructor apapun untuk menciptakan sebuah objek. Untuk deserialisasi object dibutuhkan implement interface serialisasi dalam class

Serialisasi Objek:

// Program java untuk

// mengilustrasikan

// serialisasi dari objek

import java.io.*

 

class DeserializationExample implements Serializable 

private String name; 

DeserializationExample(String name

{this.name = name;} 

 

public static void main(String[] args

 

try

DeserializationExample d = new DeserializationExample("Makan"

+"NasiPadang"); 

FileOutputStream f = new FileOutputStream("file.txt"); 

ObjectOutputStream oos = new ObjectOutputStream(f); 

 

oos.writeObject(d); 

oos.close(); 

f.close();} 

 

catch (Exception e) { e.printStackTrace(); } 

 

}

 

}


Objek dari DeserializationExample class adalah serialisasi menggunakan method writeObject() dan disimpan pada file.txt file.

Deserialisasi dari objek:

// Program Java

// mengilustrasikan penciptaan

// objek menggunakan

// deserialisasi.

import java.io.*

 

public class DeserializationExample 

{

 

public static void main(String[] args

 

try

DeserializationExample d; 

FileInputStream f = new FileInputStream("file.txt"); 

ObjectInputStream oos = new ObjectInputStream(f); 

d = (DeserializationExample)oos.readObject();} 

 

catch (Exception e

{ e.printStackTrace(); } 

 

System.out.println(d.name); 

}

 

}

Output:
MakanNasiPadang

lima, Menggunakan newInstance() method dari class constructor: hal ini sama seperti penggunaan method newInstance() dari sebuah class. Terdapat sebuah method newInstance() pada class java.lang.reflect.Constructor yang dapat digunakan untuk menciptakan sebuah object. Method tersebut dapat memanggil constructor berparameter dan private constructor dengan menggunakan method newInstance().

Kedua method newInstance() dikenal sebagai cara reflektif untuk menciptakan object. Faktanya, method newInstance() dari class internal menggunakan method newInstance() dari class constructor.

// Program java

// mengilustrasikan penciptaan

// objek menggunakan

// newInstance() method dari

// Constructor class.

import java.lang.reflect.*

 

public class ReflectionExample 

{

 

private String name; 

ReflectionExample() { } 

public void setName(String name) { this.name = name; } 

 

public static void main(String[] args

{

 

try

Constructor<reflectionexample> constructor 

= ReflectionExample.class.getDeclaredConstructor(); 

ReflectionExample r = constructor.newInstance(); 

r.setName("MakanNasiPadang"); 

System.out.println(r.name);} 

 

catch (Exception e

{ e.printStackTrace(); } 

 

}

 

}


5 komentar:

  1. Apa yang dimaksud dengan object pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Entitas apapun yang memiliki status dan perilakunya sendiri disebut sebagai sebuah object. Status dan perilaku tersebut mewakili properti dari object tersebut. Status object didefinisikan dengan mendefinisikan anggota data dari class dimana perilakunya didefinisikan dengan pendefinisian class method pada bahasa pemrograman Java.

      Hapus
  2. Apa yang dimaksud dengan class dalam bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Class dapat dianggap sebagai sebuah block definisi atau template atau cetak biru yang mendefinisikan status dan perilaku dari suatu object. Status yang didefinisikan tersebut berada dalam anggota data class dimana perilaku atau behavior didefinisikan dalam suatu class method.

      Hapus
  3. Jika diambil contoh non teknis untuk menghubungkan antara class dan object pada bahasa pemrograman Java, maka:

    1. Pertimbangkan bahwa manusia adalah sebuah class dan manusia akan menentukan keadaan seperti warna, nama, pemeran, tempat, dan lain sebagainya. Dimana hal tersebut juga akan memengaruhi dalam penentuan perilaku seperti jalan(), makan(), berlari(), berbicara(), dan lain sebagainya.

    2. Object adalah turunan dari sebuah class, yang dapat dianggap bahwa individu adalah object dari class manusia itu sendiri. Asumsikan contoh sebuah individu dengan nama object dalah Bambang, dimana Bambang akan memiliki statusnya seperti warna=hitam, nama=Bambang, lokasi=Semarang, dan juga dapat menunjukkan perilaku seperti Jalan(), Makan(), Bicara(), Lari(), dan lain sebagainya.

    BalasHapus

Respon komentar 7 x 24 jam, so please be patient :D