Kepada pengunjung Yang Terhormat

Saya harap anda bahagia dengan postingan di Blog ini. anda senang,saya Melayang

Sunday, 24 January 2021

CONSTRUCTOR PADA PEMROGRAMAN JAVA da4s3

 

CONSTRUCTOR PADA PEMROGRAMAN JAVA da4s3

Constructor

Constructor adalah method yang spesial, karena mempunyai aturan-aturan sebagai berikut:

mempunyai nama yang sama persis dengan nama class

tidak mempunyai tipe return

digunakan untuk menginstansiasi object

hanya mempunyai access modifer, tidak ada keyword lain yang diletakkan sebelum nama method pada deklarasi constructor.

 

Seperti  halnya  method  pada  umumnya,  constructor  bisa  mempunyai  parameter  serta melempar (throws) exception. Constructor yang tidak mempunyai parameter disebut dengan default constructor. Setiap class pasti mempunyai setidaknya satu constructor, kalau dalam deklarasi class tidak ada constructor sama sekali, Java secara default akan mempunyai default constructor ini. Kalau ada satu saja constructor dengan parameter, maka default constructor tidak akan dibuat, kalau masih mau ada default constructor maka harus dideklarasikan secara eksplisit. Mari kita lihat contoh kodenya :

public ConstructorTest {

  public void methodSederhana(){

    System.out.println("method sederhana dipanggil");

  }

  public static void main(String[] args){

    ConstructorTest test = new  ConstructorTest();

    test.methodSederhana();

  }

}

Kode di atas memperlihatkan bahwa class ConstructorTest tidak mendefnisikan constructor sama sekali,  tetapi  constructor new   ConstructorTest()  dapat dipanggil  tanpa menyebabkan  adanya

error. Hal ini disebabkan karena Java akan membuatkan default constructor kalau class tidak mendefnisikan  cosnstructor sama sekali.

 

public class ConstructorNonDefaultTest {

  public ConstructorNonDefaultTest(String text) {

    methodSederhana(text);

  }

  public void methodSederhana(String text){

    System.out.println("method sederhana dipanggil dengan text : " + text);

  }

  public static void main(String[] args){

    //error pada waktu compile karena ada constructor yang dideklarasikan

    //sehingga default constructor menjadi wajib dideklarasikan

    ConstructorNonDefaultTest test = new  ConstructorNonDefaultTest();

  

    //constructor non default dengan satu parameter bertipe string

    ConstructorNonDefaultTest test1 =

      new  ConstructorNonDefaultTest("ini test");

  }

}

kalau kode di atas coba dicompile maka terdapat satu buah error seperti di bawah ini :

$ javac ConstructorNonDefaultTest.java

ConstructorNonDefaultTest.java:11: cannot find symbol

symbol  : constructor ConstructorNonDefaultTest()

location: class ConstructorNonDefaultTest

    ConstructorNonDefaultTest test = new  ConstructorNonDefaultTest();

                                     ^

1 error

$

Constructor dapat memanggil constructor lain dalam class yang sama menggunakan keyword

this. Kode untuk memanggil constructor lain ini harus berada di baris pertama dari constructor,

kalau tidak maka akan ada error pada waktu kompilasi. Berikut ini contohnya :

public class ConstructorCallConstructorTest {

  public ConstructorCallConstructor(){

    this("constructor memanggil constructor");

    //kode lain di sini, tidak bisa diletakkan di atas keyword this

  }

  public ConstructorCallConstructor(String text) {

    methodSederhana(text);

  }

  public void methodSederhana(String text){

    System.out.println("method sederhana dipanggil dengan text : " + text);

  }

  public static void main(String[] args){

    ConstructorCallConstructorTest test = new  ConstructorCallConstructorTest();

  

    ConstructorCallConstructorTest test =

      new  ConstructorCallConstructorTest torTest("ini test");

  }

}

 

Constructor  mana  yang  dipanggil  pada  waktu  menggunakan  keyword  this  ditentukan  dari parameternya.

 

No comments:

Post a Comment

iklan popcash