Metode adalah sekumpulan kode yang hanya berjalan saat dipanggil. Anda dapat mengirimkan data, yang disebut parameter, ke dalam metode. Metode digunakan untuk melakukan tindakan tertentu, dan mereka juga dikenal sebagai fungsi.
Mengapa menggunakan metode? Untuk menggunakan kembali kode: tentukan kode sekali, dan gunakan berkali-kali. Secara umum, metode adalah cara untuk melakukan suatu tugas. Demikian pula, metode di Java adalah kumpulan instruksi yang melakukan tugas tertentu.
Ini memberikan kode yang dapat digunakan kembali. Kami juga dapat dengan mudah mengubah kode menggunakan metode. Di bagian ini, kita akan mempelajari apa itu metode di Java, jenis metode, deklarasi metode, dan cara memanggil metode di Java.
Section Artikel
- 1 Pengertian Methods pada Java
- 2 Membuat Methods pada Java
- 3 Penamaan Sebuah Method Java
- 4 Tipe-Tipe Methods
- 5 Memanggil Method pada Java
- 6 Metode Static
- 7 Metode Instance
- 8 Abstract Method
- 9 Factory Method
- 10 Kata Kunci Void
- 11 Passing Parameters by Value
- 12 Metode Overloading
- 13 Menggunakan Argumen Command-Line
- 14 Kata Kunci This
- 15 Variable Arguments (Var-Args)
- 16 Metode finalize()
Pengertian Methods pada Java
Metode Java adalah kumpulan pernyataan yang dikelompokkan bersama untuk melakukan operasi. Ketika Anda memanggil metode System.out.println (), misalnya, sistem sebenarnya menjalankan beberapa pernyataan untuk menampilkan pesan di konsol.
Sekarang Anda akan belajar cara membuat metode Anda sendiri dengan atau tanpa nilai kembalian, memanggil metode dengan atau tanpa parameter, dan menerapkan abstraksi metode dalam desain program.
Metode adalah sekumpulan kode atau kumpulan pernyataan atau sekumpulan kode yang dikelompokkan bersama untuk melakukan tugas atau operasi tertentu. Ini digunakan untuk mencapai penggunaan kembali kode. Kami menulis metode sekali dan menggunakannya berkali-kali.
Kami tidak perlu menulis kode lagi dan lagi. Ini juga menyediakan modifikasi dan keterbacaan kode yang mudah, hanya dengan menambahkan atau menghapus sebagian kode. Metode ini dijalankan hanya ketika kita memanggil atau memanggilnya. Metode terpenting di Java adalah metode main ().
Membuat Methods pada Java
Metode harus dideklarasikan di dalam kelas. Ini didefinisikan dengan nama metode, diikuti dengan tanda kurung (). Java menyediakan beberapa metode yang telah ditentukan sebelumnya, seperti System.out.println (), tetapi Anda juga dapat membuat metode Anda sendiri untuk melakukan tindakan tertentu.
Deklarasi metode memberikan informasi tentang atribut metode, seperti visibilitas, tipe kembalian, nama, dan argumen. Ini memiliki enam komponen yang dikenal sebagai header metode.
- Method Signature adalah setiap metode memiliki tanda tangan metode. Ini adalah bagian dari deklarasi metode. Ini termasuk nama metode dan daftar parameter.
- Access Specifier adalah Penentu atau pengubah akses adalah jenis akses dari metode tersebut. Ini menentukan visibilitas metode. Java menyediakan empat jenis penentu akses yaitu Public (Metode ini dapat diakses oleh semua kelas saat kita menggunakan penentu publik dalam aplikasi kita), Private (Saat kita menggunakan penentu akses pribadi, metode ini hanya dapat diakses di kelas yang ditentukan), Protected (Saat kami menggunakan penentu akses yang dilindungi, metode ini dapat diakses dalam paket atau subkelas yang sama dalam paket yang berbeda), Default (Ketika kita tidak menggunakan penentu akses apa pun dalam deklarasi metode, Java menggunakan penentu akses default secara default. Itu hanya terlihat dari paket yang sama saja).
- Return Type yaitu tipe pengembalian adalah tipe data yang dikembalikan metode. Ini mungkin memiliki tipe data primitif, objek, koleksi, void, dan lainnya. Jika metode tidak mengembalikan apa pun, kami menggunakan kata kunci void.
- Method Name yaitu ini adalah nama unik yang digunakan untuk menentukan nama metode. Ini harus sesuai dengan fungsionalitas metode. Misalkan, jika kita membuat metode untuk pengurangan dua angka, nama metode haruslah subtraction (). Sebuah metode dipanggil oleh namanya.
- Parameter List adalah daftar parameter yang dipisahkan oleh koma dan diapit oleh sepasang tanda kurung. Ini berisi tipe data dan nama variabel. Jika metode tidak memiliki parameter, kosongkan tanda kurung.
- Body yaitu ini adalah bagian dari deklarasi metode. Ini berisi semua tindakan yang harus dilakukan. Itu tertutup dalam sepasang kurung kurawal.
Sintaks dalam membuat methods bisa dibuat dengan cara
public static int methodName(int a, int b) { // body }
- public static adalah modifier.
- int adalah return type.
- methodName adalah nama methods.
- a, b adalah parameter formal.
- int a, int b adalah list parameter.
Definisi metode terdiri dari header metode dan isi metode. Hal yang sama ditunjukkan pada sintaks berikut
modifier returnType nameOfMethod (Parameter List) {
// method body
}
Sintaks yang ditunjukkan di atas termasuk
- modifier yaitu Ini mendefinisikan jenis akses metode dan opsional untuk digunakan.
- returnType yaitu Metode dapat mengembalikan nilai.
- nameOfMethod yaitu Ini adalah nama metode. Tanda tangan metode terdiri dari nama metode dan daftar parameter.
- Parameter List yaitu Daftar parameter, yaitu jenis, urutan, dan jumlah parameter dari suatu metode. Ini opsional, metode mungkin berisi parameter nol.
- method body yaitu Tubuh metode mendefinisikan apa yang dilakukan metode dengan pernyataan.
Berikut adalah kode sumber dari metode yang ditentukan di atas yang disebut min (). Metode ini mengambil dua parameter num1 dan num2 dan mengembalikan nilai maksimum di antara keduanya
/** the snippet returns the minimum between two numbers */ public static int minFunction(int n1, int n2) { int min; if (n1 > n2) min = n2; else min = n1; return min; }
Contoh lainnya yang sederhana adalah dengan membuat kode berikut
public class MyClass { static void myMethod() { // code to be executed } }
Dapat kita jelaskan dengan
- myMethod () adalah nama metode.
- static berarti bahwa metode tersebut milik kelas MyClass dan bukan objek dari kelas MyClass. Anda akan mempelajari lebih lanjut tentang objek dan cara mengakses metode melalui objek pada tutorial yang sudah pernah dibahas sebelumnya.
- void berarti metode ini tidak memiliki nilai pengembalian. Anda akan mempelajari lebih lanjut tentang nilai kembali nanti di Tutorial struktur data java.
Penamaan Sebuah Method Java
Saat menentukan metode, ingatlah bahwa nama metode harus berupa kata kerja dan dimulai dengan huruf kecil. Jika nama metode memiliki lebih dari dua kata, nama depan harus berupa kata kerja diikuti oleh kata sifat atau kata benda.
Dalam nama metode multi-kata, huruf pertama setiap kata harus menggunakan huruf besar kecuali kata pertama. Sebagai contoh:
Nama metode satu kata: sum (), area ()
Nama metode multi-kata: areaOfCircle (), stringComparision ()
Mungkin juga suatu metode memiliki nama yang sama dengan nama metode lain di kelas yang sama, ini dikenal sebagai metode overloading.
Tipe-Tipe Methods
Ada dua jenis metode di Java yaitu
- Predefined Method.
- User-defined Method
Predefined Method
Di Java, metode yang telah ditentukan sebelumnya adalah metode yang telah ditentukan dalam perpustakaan kelas Java yang dikenal sebagai metode yang telah ditentukan sebelumnya. Ini juga dikenal sebagai metode pustaka standar atau metode bawaan.
Kami dapat langsung menggunakan metode ini hanya dengan memanggil mereka dalam program kapan saja. Beberapa metode yang telah ditentukan sebelumnya adalah length (), equals (), CompareTo (), sqrt (), dll.
Saat kami memanggil metode yang telah ditentukan sebelumnya dalam program kami, serangkaian kode yang terkait dengan metode terkait berjalan di latar belakang yang sudah disimpan di perpustakaan.
Setiap metode yang telah ditentukan didefinisikan di dalam kelas. Seperti metode print () yang didefinisikan di kelas java.io.PrintStream.
Ini mencetak pernyataan yang kita tulis di dalam metode. Misalnya, print (“Java”), ia mencetak Java di konsol. Mari kita lihat contoh metode yang telah ditentukan sebelumnya. Kita buat sebuah file java dengan nama Demo.java
public class Demo { public static void main(String[] args) { // using the max() method of Math class System.out.print("The maximum number is: " + Math.max(9,7)); } } // maka akan mengeluarkan output : The maximum number is: 9
Dalam contoh di atas, kami telah menggunakan tiga metode standar main (), print (), dan max (). Kami telah menggunakan metode ini secara langsung tanpa deklarasi karena sudah ditentukan sebelumnya.
Metode print () adalah metode kelas PrintStream yang mencetak hasilnya di konsol. Metode max () adalah metode kelas Matematika yang mengembalikan dua angka lebih besar.
Kita dapat melihat max sebagai berikut
public static int max(int a, int b){}
kita melihat bahwa metode memiliki penentu akses publik, pengubah non-akses statis, tipe kembalian int, nama metode max (), daftar parameter (int a, int b). Dalam contoh di atas, alih-alih mendefinisikan metode, kami baru saja memanggil metode tersebut. Ini adalah keuntungan dari metode yang telah ditentukan sebelumnya. Itu membuat pemrograman tidak terlalu rumit.
Demikian pula, kita juga bisa melihat tanda tangan metode dari metode print ().
User-Defined Method
Metode yang ditulis oleh pengguna atau programmer dikenal sebagai metode yang ditentukan pengguna. Metode ini dimodifikasi sesuai kebutuhan. Cara Membuat Metode yang Ditentukan Pengguna adalah sebagai berikut. Mari buat metode yang ditentukan pengguna yang memeriksa angka genap atau ganjil. Pertama, kita akan mendefinisikan metodenya.
//user defined method public static void findEvenOdd(int num) { //method body if(num%2==0) System.out.println(num+" is even"); else System.out.println(num+" is odd"); }
Kami telah mendefinisikan metode di atas bernama findevenodd (). Ini memiliki parameter num tipe int. Metode ini tidak mengembalikan nilai apa pun, itulah mengapa kami menggunakan void. Tubuh metode berisi langkah-langkah untuk memeriksa bilangan genap atau ganjil. Jika angkanya genap, ia mencetak angkanya genap, jika tidak mencetak angkanya ganjil.
Cara Memanggil atau Memanggil Metode yang Ditentukan Pengguna adalah dengan cara Setelah kita mendefinisikan metode, itu harus dipanggil. Pemanggilan metode dalam program itu sederhana. Ketika kita memanggil atau memanggil metode yang ditentukan pengguna, kontrol program mentransfer ke metode yang dipanggil bisa diihat dari kode dibawah
import java.util.Scanner; public class EvenOdd { public static void main (String args[]) { //creating Scanner class object Scanner scan=new Scanner(System.in); System.out.print("Enter the number: "); //reading value from the user int num=scan.nextInt(); //method calling findEvenOdd(num); }
Dalam potongan kode di atas, segera setelah kompilator mencapai baris findEvenOdd (num), kontrol ditransfer ke metode dan memberikan keluaran yang sesuai.
Mari gabungkan kedua potongan kode dalam satu program dan jalankan kode tersebut.
Contoh lainnya adalah dengan membuat kode berikut dengan nama EvenOdd.java
import java.util.Scanner; public class EvenOdd { public static void main (String args[]) { //creating Scanner class object Scanner scan=new Scanner(System.in); System.out.print("Enter the number: "); //reading value from user int num=scan.nextInt(); //method calling findEvenOdd(num); } //user defined method public static void findEvenOdd(int num) { //method body if(num%2==0) System.out.println(num+" is even"); else System.out.println(num+" is odd"); } }
Maka akan menghasilkan output berikut
Enter the number: 12
12 is even
Enter the number: 99
99 is odd
Memanggil Method pada Java
Untuk memanggil metode di Java, tulis nama metode diikuti dengan dua tanda kurung () dan titik koma;. Untuk menggunakan metode, itu harus dipanggil. Ada dua cara di mana suatu metode dipanggil, yaitu metode mengembalikan nilai atau tidak mengembalikan apa pun (tidak ada nilai pengembalian).
Proses pemanggilan metode sederhana. Ketika program memanggil metode, kontrol program akan ditransfer ke metode yang dipanggil. Metode yang dipanggil ini kemudian mengembalikan kontrol ke pemanggil dalam dua kondisi, yaitu ketika
- Pernyataan return dieksekusi.
- Mencapai metode yang mengakhiri kurung kurawal tutup.
Metode mengembalikan kekosongan dianggap sebagai panggilan ke pernyataan. Mari pertimbangkan sebuah contoh sederhana
System.out.println("Tutorial Methods Pada Java");
Metode nilai yang kembali (dengan return nilai) dapat dipahami dengan contoh berikut
int result = sum(6, 9);
Berikut adalah contoh untuk mendemonstrasikan bagaimana mendefinisikan sebuah metode dan bagaimana memanggilnya
public class ExampleMinNumber { public static void main(String[] args) { int a = 11; int b = 6; int c = minFunction(a, b); System.out.println("Minimum Value = " + c); } /** returns the minimum of two numbers */ public static int minFunction(int n1, int n2) { int min; if (n1 > n2) min = n2; else min = n1; return min; } } // output yang dihasilkan adalah : Minimum value = 6
Berikut merupakan contoh sederhana lainnya yang dapat dilihat pada kode berikut
Dalam contoh berikut, myMethod () digunakan untuk mencetak teks (action), saat dipanggil
public class MyClass { static void myMethod() { System.out.println("I just got executed!"); } public static void main(String[] args) { myMethod(); } } // Outputs "I just got executed!"
Sebuah metode juga bisa dipanggil beberapa kali seperti contoh dibawah
public class MyClass { static void myMethod() { System.out.println("I just got executed!"); } public static void main(String[] args) { myMethod(); myMethod(); myMethod(); } } // I just got executed! // I just got executed! // I just got executed!
Mari kita lihat program lain yang mengembalikan nilai ke metode pemanggilan.
Dalam program berikut, kami telah mendefinisikan metode bernama add () yang menjumlahkan dua angka. Ini memiliki dua parameter n1 dan n2 tipe integer. Nilai n1 dan n2 masing-masing sesuai dengan nilai a dan b. Oleh karena itu, metode tersebut menambahkan nilai a dan b dan menyimpannya dalam variabel s dan mengembalikan jumlahnya.
public class Addition { public static void main(String[] args) { int a = 19; int b = 5; //method calling int c = add(a, b); //a and b are actual parameters System.out.println("The sum of a and b is= " + c); } //user defined method public static int add(int n1, int n2) //n1 and n2 are formal parameters { int s; s=n1+n2; return s; //returning the sum } } // akan mnghasilkan output : The sum of a and b is= 24
Metode Static
Metode yang memiliki kata kunci statis disebut metode statis. Dengan kata lain, metode yang dimiliki kelas daripada instance kelas dikenal sebagai metode statis. Kita juga dapat membuat metode statis dengan menggunakan kata kunci statis sebelum nama metode.
Keuntungan utama dari metode statis adalah kita dapat memanggilnya tanpa membuat objek. Itu dapat mengakses anggota data statis dan juga mengubah nilainya. Ini digunakan untuk membuat metode instance. Itu dipanggil dengan menggunakan nama kelas. Contoh terbaik dari metode statis adalah metode main ().
Contoh metode static yaitu
public class Display { public static void main(String[] args) { show(); } static void show() { System.out.println("It is an example of static method."); } }
Output yang akan dihasilkan yaitu
It is an example of a static method.
Metode Instance
Metode kelas ini dikenal sebagai metode instance. Ini adalah metode non-statis yang ditentukan di kelas. Sebelum memanggil atau memanggil metode instance, perlu untuk membuat objek kelasnya. Mari kita lihat contoh metode instance.
public class InstanceMethodExample { public static void main(String [] args) { //Creating an object of the class InstanceMethodExample obj = new InstanceMethodExample(); //invoking instance method System.out.println("The sum is: "+obj.add(12, 13)); } int s; //user-defined method because we have not used static keyword public int add(int a, int b) { s = a+b; //returning the sum return s; } } // hasil outputnya adalah : The sum is: 25
Ada dua jenis metode instance pada java yaitu
- Accessor Method
- Mutator Method
Accessor Method
Metode yang membaca variabel instan dikenal sebagai metode pengakses. Kita dapat dengan mudah mengidentifikasinya karena metode tersebut diawali dengan kata get. Ia juga dikenal sebagai getter. Ini mengembalikan nilai bidang privat. Ini digunakan untuk mendapatkan nilai bidang privat.
Contoh metode Accesor ini bisa dilihat pada kode berikut
public int getId() { return Id; }
Mutator Method
Metode membaca variabel instance dan juga mengubah nilainya. Kita dapat dengan mudah mengidentifikasinya karena metode diawali dengan kumpulan kata. Ia juga dikenal sebagai penyetel atau pengubah. Itu tidak mengembalikan apapun. Ini menerima parameter dari tipe data yang sama yang bergantung pada bidang. Ini digunakan untuk mengatur nilai bidang privat. Contoh Mutator Method yaitu
public void setRoll(int roll) { this.roll = roll; }
Kemudian contoh dari gabungan kedua method ini yaitu
public class Student { private int roll; private String name; public int getRoll() //accessor method { return roll; } public void setRoll(int roll) //mutator method { this.roll = roll; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void display() { System.out.println("Roll no.: "+roll); System.out.println("Student name: "+name); } }
Abstract Method
Metode yang tidak memiliki tubuh metode dikenal sebagai metode abstrak. Dengan kata lain, tanpa implementasi dikenal sebagai metode abstrak. Itu selalu mendeklarasikan di kelas abstrak. Artinya kelas itu sendiri harus abstrak jika memiliki metode abstrak. Untuk membuat metode abstrak, kami menggunakan kata kunci abstrak. sintaks metode ini yaitu
abstract void method_name();
Selanjutnya kita dapat membuah sebuah contoh untuk metode ini
abstract class Demo //abstract class { //abstract method declaration abstract void display(); } public class MyClass extends Demo { //method impelmentation void display() { System.out.println("Abstract method?"); } public static void main(String args[]) { //creating object of abstract class Demo obj = new MyClass(); //invoking abstract method obj.display(); } } // outputnya akan menjadi : Abstract method...
Factory Method
Ini adalah metode yang mengembalikan objek ke kelas tempatnya berada. Semua metode statis adalah metode pabrik. Misalnya, NumberFormat obj = NumberFormat.getNumberInstance ();
Kata Kunci Void
Kata kunci void memungkinkan kita membuat metode yang tidak mengembalikan nilai. Di sini, dalam contoh berikut kami sedang mempertimbangkan metode metode void methodRankPoints. Metode ini adalah metode kosong, yang tidak mengembalikan nilai apa pun. Panggilan ke metode void harus berupa pernyataan, yaitu methodRankPoints (255.7) ;. Ini adalah pernyataan Java yang diakhiri dengan titik koma seperti yang ditunjukkan pada contoh berikut.
public class ExampleVoid { public static void main(String[] args) { methodRankPoints(255.7); } public static void methodRankPoints(double points) { if (points >= 202.5) { System.out.println("Rank:A1"); }else if (points >= 122.4) { System.out.println("Rank:A2"); }else { System.out.println("Rank:A3"); } } } // output nya akan menjadi : Rank:A1
Passing Parameters by Value
Saat bekerja di bawah proses pemanggilan, argumen harus diteruskan. Ini harus dalam urutan yang sama dengan parameternya masing-masing dalam spesifikasi metode. Parameter dapat diteruskan dengan nilai atau referensi.Meneruskan Parameter dengan Nilai berarti memanggil metode dengan parameter. Melalui ini, nilai argumen diteruskan ke parameter.
Program berikut menunjukkan contoh melewatkan parameter dengan nilai. Nilai argumen tetap sama bahkan setelah pemanggilan metode.
Live Demo public class swappingExample { public static void main(String[] args) { int a = 30; int b = 45; System.out.println("Before swapping, a = " + a + " and b = " + b); // Invoke the swap method swapFunction(a, b); System.out.println("\n**Now, Before and After swapping values will be same here**:"); System.out.println("After swapping, a = " + a + " and b is " + b); } public static void swapFunction(int a, int b) { System.out.println("Before swapping(Inside), a = " + a + " b = " + b); // Swap n1 with n2 int c = a; a = b; b = c; System.out.println("After swapping(Inside), a = " + a + " b = " + b); } }
Maka akan menghasilkan output berikut
Before swapping, a = 30 and b = 45
Before swapping(Inside), a = 30 b = 45
After swapping(Inside), a = 45 b = 30
**Now, Before and After swapping values will be same here**:
After swapping, a = 30 and b is 45
Metode Overloading
Ketika sebuah kelas memiliki dua atau lebih metode dengan nama yang sama tetapi parameter yang berbeda, itu dikenal sebagai metode overloading. Ini berbeda dengan menimpa. Dalam menimpa, suatu metode memiliki nama metode, jenis, jumlah parameter yang sama, dan lainnya.
Mari kita pertimbangkan contoh yang dibahas sebelumnya untuk menemukan jumlah minimum dari jenis bilangan bulat. Jika, katakanlah kita ingin mencari jumlah minimum tipe ganda. Kemudian konsep overloading akan diperkenalkan dengan membuat dua atau lebih metode dengan nama yang sama tetapi parameter yang berbeda.
Berikut ini merupakan contoh kode dari metode overloading
public class ExampleOverloading { public static void main(String[] args) { int a = 11; int b = 6; double c = 7.3; double d = 9.4; int result1 = minFunction(a, b); // same function name with different parameters double result2 = minFunction(c, d); System.out.println("Minimum Value = " + result1); System.out.println("Minimum Value = " + result2); } // for integer public static int minFunction(int n1, int n2) { int min; if (n1 > n2) min = n2; else min = n1; return min; } // for double public static double minFunction(double n1, double n2) { double min; if (n1 > n2) min = n2; else min = n1; return min; } }
Kemudian outputnya adalah
Minimum Value = 6
Minimum Value = 7.3
Metode overloading membuat program dapat dibaca. Di sini, dua metode diberikan dengan nama yang sama tetapi dengan parameter yang berbeda. Hasilnya adalah angka minimum dari tipe integer dan double.
Menggunakan Argumen Command-Line
Terkadang Anda ingin meneruskan beberapa informasi ke dalam program saat Anda menjalankannya. Ini dilakukan dengan meneruskan argumen baris perintah ke main (). Argumen baris perintah adalah informasi yang secara langsung mengikuti nama program pada baris perintah ketika dijalankan. Untuk mengakses argumen baris perintah di dalam program Java cukup mudah. Mereka disimpan sebagai string dalam array String yang diteruskan ke main ().
Program berikut menampilkan semua argumen baris perintah yang dapat dipanggil
public class CommandLine { public static void main(String args[]) { for(int i = 0; i<args.length; i++) { System.out.println("args[" + i + "]: " + args[i]); } } }
Kemudian kita dapat menjalankan lewat command-line dengan cara
$java CommandLine this is a command line 200 -100
Maka akan menghasilkan hasil berikut
args[0]: this
args[1]: is
args[2]: a
args[3]: command
args[4]: line
args[5]: 200
args[6]: -100
Kata Kunci This
this adalah kata kunci di Java yang digunakan sebagai referensi ke objek kelas saat ini, dengan metode instance atau konstruktor. Menggunakan ini, Anda dapat merujuk anggota kelas seperti konstruktor, variabel, dan metode.
Catatan – Kata kunci this hanya digunakan dalam metode instance atau konstruktor
Secara umum, kata kunci this digunakan untuk –
- Bedakan variabel instan dari variabel lokal jika memiliki nama yang sama, dalam konstruktor atau metode. contohnya adalah dengan kode berikut
class Student { int age; Student(int age) { this.age = age; } }
- Panggil satu jenis konstruktor (konstruktor berparameter atau default) dari yang lain dalam sebuah kelas. Ini dikenal sebagai pemanggilan konstruktor eksplisit. contohnya adalah dengan cara berikut
class Student { int age Student() { this(20); } Student(int age) { this.age = age; } }
Berikut adalah contoh yang menggunakan kata kunci this untuk mengakses anggota kelas. Salin dan tempel program berikut dalam file dengan nama, This_Example.java.
public class This_Example { // Instance variable num int num = 10; This_Example() { System.out.println("This is an example program on keyword this"); } This_Example(int num) { // Invoking the default constructor this(); // Assigning the local variable num to the instance variable num this.num = num; } public void greet() { System.out.println("Hi Welcome to Tutorialspoint"); } public void print() { // Local variable num int num = 20; // Printing the local variable System.out.println("value of local variable num is : "+num); // Printing the instance variable System.out.println("value of instance variable num is : "+this.num); // Invoking the greet method of a class this.greet(); } public static void main(String[] args) { // Instantiating the class This_Example obj1 = new This_Example(); // Invoking the print method obj1.print(); // Passing a new value to the num variable through parametrized constructor This_Example obj2 = new This_Example(30); // Invoking the print method again obj2.print(); } }
Kemudian akan menghasilkan hasil berikut
This is an example program on keyword this
value of local variable num is : 20
value of instance variable num is : 10
Hi Welcome to Tutorialspoint
This is an example program on keyword this
value of local variable num is : 20
value of instance variable num is : 30
Hi Welcome to Tutorialspoint
Variable Arguments (Var-Args)
JDK 1.5 memungkinkan Anda meneruskan sejumlah variabel argumen dengan tipe yang sama ke sebuah metode. Parameter dalam metode ini dideklarasikan sebagai berikut
typeName... parameterName
Dalam deklarasi metode, Anda menentukan tipe yang diikuti dengan elipsis (…). Hanya satu parameter panjang variabel yang dapat ditentukan dalam sebuah metode, dan parameter ini harus menjadi parameter terakhir. Parameter reguler apa pun harus mendahuluinya. Kita dapat lihat dengan contoh dibawah
public class VarargsDemo { public static void main(String args[]) { // Call method with variable args printMax(34, 3, 3, 2, 56.5); printMax(new double[]{1, 2, 3}); } public static void printMax( double... numbers) { if (numbers.length == 0) { System.out.println("No argument passed"); return; } double result = numbers[0]; for (int i = 1; i < numbers.length; i++) if (numbers[i] > result) result = numbers[i]; System.out.println("The max value is " + result); } }
Maka akan menghasilkan
The max value is 56.5
The max value is 3.0
Metode finalize()
Dimungkinkan untuk menentukan metode yang akan dipanggil tepat sebelum pemusnahan akhir objek oleh pengumpul sampah. Metode ini disebut finalize (), dan dapat digunakan untuk memastikan bahwa objek berakhir dengan bersih.
Misalnya, Anda mungkin menggunakan finalize () untuk memastikan bahwa file terbuka yang dimiliki oleh objek tersebut ditutup. Untuk menambahkan finalizer ke kelas, Anda cukup mendefinisikan metode finalize (). Runtime Java memanggil metode itu setiap kali akan mendaur ulang objek kelas itu.
Di dalam metode finalize (), Anda akan menentukan tindakan yang harus dilakukan sebelum objek dimusnahkan. Metode finalize () memiliki bentuk umum ini
protected void finalize( ) {
// finalization code here
}
Di sini, kata kunci yang dilindungi adalah penentu yang mencegah akses ke finalize () dengan kode yang ditentukan di luar kelasnya.
Ini berarti Anda tidak dapat mengetahui kapan atau bahkan jika finalize () akan dijalankan. Misalnya, jika program Anda berakhir sebelum pengumpulan sampah terjadi, finalize () tidak akan dijalankan.