Metode kelebihan beban
Metode max yang digunakan di atas hanya berlaku untuk data bertipe int. Namun bagaimana jika Anda ingin mendapatkan nilai maksimal dari dua tipe data floating point?
Solusinya adalah dengan membuat metode lain dengan nama yang sama tetapi parameternya berbeda, seperti yang ditunjukkan pada kode berikut:
public static double max(angka ganda1, angka ganda2) { if (angka1 > angka2) kembalikan angka1; jika tidak kembalikan angka2;}
Jika Anda meneruskan parameter int saat memanggil metode max, metode max dari parameter int akan dipanggil;
Jika parameter double dilewatkan, isi metode max bertipe double akan dipanggil, yang disebut metode kelebihan beban;
Artinya, dua metode dalam suatu kelas memiliki nama yang sama, tetapi daftar parameternya berbeda.
Kompiler Java menentukan metode mana yang harus dipanggil berdasarkan tanda tangan metode.
Metode kelebihan beban dapat membuat program menjadi lebih jelas dan mudah dibaca. Metode yang melakukan tugas yang berkaitan erat harus menggunakan nama yang sama.
Metode yang kelebihan beban harus memiliki daftar parameter yang berbeda. Anda tidak dapat membebani metode secara berlebihan hanya berdasarkan pengubah atau tipe kembalian.
ruang lingkup variabel
Cakupan suatu variabel adalah bagian program yang menjadi acuan variabel tersebut.
Variabel yang didefinisikan dalam suatu metode disebut variabel lokal.
Cakupan variabel lokal dimulai sejak dideklarasikan dan berakhir pada akhir blok yang menampungnya.
Variabel lokal harus dideklarasikan sebelum dapat digunakan.
Cakupan parameter suatu metode mencakup keseluruhan metode. Parameter sebenarnya adalah variabel lokal.
Variabel yang dideklarasikan di bagian inisialisasi perulangan for memiliki cakupan di seluruh perulangan.
Namun cakupan penerapan variabel yang dideklarasikan di badan perulangan adalah dari deklarasinya hingga akhir badan perulangan. Ini berisi deklarasi variabel seperti yang ditunjukkan di bawah ini:
Anda dapat mendeklarasikan variabel lokal dengan nama yang sama beberapa kali dalam suatu metode, di blok non-nested yang berbeda, namun Anda tidak dapat mendeklarasikan variabel lokal dua kali dalam blok nested.