Metode di Jawa

1. Perkenalan

Di Java, metode adalah tempat kita mendefinisikan logika bisnis suatu aplikasi. Mereka mendefinisikan interaksi di antara data yang tertutup dalam suatu objek.

Dalam tutorial ini, kita akan membahas sintaks metode Java, definisi tanda tangan metode, dan cara memanggil dan membebani metode .

2. Metode Sintaks

Pertama, metode terdiri dari enam bagian:

  • Pengubah akses: secara opsional kita dapat menentukan dari mana kode dapat mengakses metode
  • Jenis pengembalian : jenis nilai yang dikembalikan oleh metode, jika ada
  • Pengidentifikasi metode: nama yang kami berikan ke metode
  • Daftar parameter: daftar input opsional yang dipisahkan koma untuk metode tersebut
  • Daftar pengecualian: daftar pengecualian opsional yang dapat dilemparkan metode
  • Body: definisi logika (boleh kosong)

Mari kita lihat contohnya:

Mari kita lihat lebih dekat ke enam bagian metode Java ini.

2.1. Pengubah Akses

Pengubah akses memungkinkan kita menentukan objek mana yang dapat memiliki akses ke metode. Ada empat kemungkinan pengubah akses: publik, dilindungi, pribadi , dan default (juga disebut paket-pribadi ).

Sebuah metode juga dapat menyertakan kata kunci statis sebelum atau sesudah pengubah akses. Ini berarti bahwa metode tersebut milik kelas dan bukan milik instance, dan oleh karena itu, kita dapat memanggil metode tersebut tanpa membuat instance kelas. Metode tanpa kata kunci statis dikenal sebagai metode instance dan hanya dapat dipanggil pada instance kelas.

Mengenai kinerja, metode statis akan dimuat ke dalam memori hanya sekali - selama pemuatan kelas - dan karenanya lebih hemat memori.

2.2. Jenis Pengembalian

Metode dapat mengembalikan data ke kode tempat mereka dipanggil. Sebuah metode dapat mengembalikan nilai primitif atau referensi objek, atau tidak dapat mengembalikan apa pun jika kita menggunakan kata kunci void sebagai tipe pengembalian.

Mari kita lihat contoh metode void :

public void printFullName(String firstName, String lastName) { System.out.println(firstName + " " + lastName); }

Jika kita mendeklarasikan tipe return, maka kita harus menentukan pernyataan return dalam tubuh metode. Setelah pernyataan return dieksekusi, eksekusi tubuh metode akan selesai dan jika ada lebih banyak pernyataan, ini tidak akan diproses.

Di sisi lain, metode void tidak mengembalikan nilai apa pun dan, karenanya, tidak memiliki pernyataan pengembalian .

2.3. Pengidentifikasi Metode

Pengidentifikasi metode adalah nama yang kami tetapkan ke spesifikasi metode. Merupakan praktik yang baik untuk menggunakan nama yang informatif dan deskriptif. Perlu disebutkan bahwa pengenal metode dapat memiliki paling banyak 65536 karakter (nama yang panjang sekalipun).

2.4. Daftar Parameter

Kita dapat menentukan nilai input untuk sebuah metode dalam daftar parameternya, yang diapit oleh tanda kurung. Suatu metode dapat memiliki 0 sampai 255 parameter yang dipisahkan oleh koma. Parameter bisa berupa objek, primitif, atau enumerasi. Kita bisa menggunakan anotasi Java pada level parameter metode (misalnya anotasi Spring @RequestParam ).

2.5. Daftar Pengecualian

Kita bisa menentukan pengecualian mana yang dilempar oleh metode dengan menggunakan klausa lemparan . Dalam kasus pengecualian yang dicentang, kita harus menyertakan kode dalam klausa coba-tangkap atau kita harus memberikan klausa lemparan dalam tanda tangan metode.

Jadi, mari kita lihat varian yang lebih kompleks dari metode sebelumnya, yang menampilkan pengecualian yang dicentang:

public void writeName(String name) throws IOException { PrintWriter out = new PrintWriter(new FileWriter("OutFile.txt")); out.println("Name: " + name); out.close(); }

2.6. Metode Tubuh

Bagian terakhir dari metode Java adalah tubuh metode, yang berisi logika yang ingin kita jalankan. Dalam tubuh metode, kita dapat menulis sebanyak mungkin baris kode yang kita inginkan - atau tidak sama sekali dalam kasus metode statis . Jika metode kami mendeklarasikan tipe pengembalian, maka tubuh metode harus berisi pernyataan pengembalian.

3. Metode Tanda Tangan

Sesuai definisinya, tanda tangan metode hanya terdiri dari dua komponen - nama metode dan daftar parameter .

Jadi, mari kita tulis metode sederhana:

public String getName(String firstName, String lastName) { return firstName + " " + middleName + " " + lastName; }

Tanda tangan metode ini adalah getName (String firstName, String lastName) .

Pengenal metode dapat berupa pengenal apa pun. Namun, jika kita mengikuti konvensi pengkodean Java yang umum, pengenal metode harus berupa kata kerja dalam huruf kecil yang dapat diikuti oleh kata sifat dan / atau kata benda.

4. Memanggil Metode

Sekarang, mari kita jelajahi cara memanggil metode di Java . Mengikuti contoh sebelumnya, anggaplah metode tersebut diapit dalam kelas Java yang disebut PersonName :

public class PersonName { public String getName(String firstName, String lastName) { return firstName + " " + middleName + " " + lastName; } }

Karena metode getName kita adalah metode instance dan bukan metode statis , untuk memanggil metode getName , kita perlu membuat instance kelas PersonName :

PersonName personName = new PersonName(); String fullName = personName.getName("Alan", "Turing");

Seperti yang bisa kita lihat, kita menggunakan objek yang dibuat untuk memanggil metode getName .

Finally, let's take a look at how to call a static method. In the case of a static method, we don't need a class instance to make the call. Instead, we invoke the method with its name prefixed by the class name.

Let's demonstrate using a variant of the previous example:

public class PersonName { public static String getName(String firstName, String lastName) { return firstName + " " + middleName + " " + lastName; } }

In this case, the method call is:

String fullName = PersonName.getName("Alan", "Turing");

5. Method Overloading

Java allows us to have two or more methods with the same identifier but different parameter list — different method signatures. In this case, we say that the method is overloaded. Let's go with an example:

public String getName(String firstName, String lastName) { return getName(firstName, "", lastName); } public String getName(String firstName, String middleName, String lastName) { if (!middleName.isEqualsTo("")) { return firstName + " " + lastName; } return firstName + " " + middleName + " " + lastName; }

Method overloading is useful for cases like the one in the example, where we can have a method implementing a simplified version of the same functionality.

Terakhir, kebiasaan desain yang baik adalah memastikan bahwa metode yang kelebihan beban berperilaku dengan cara yang sama. Jika tidak, kode akan membingungkan jika metode dengan pengenal yang sama berperilaku berbeda.

6. Kesimpulan

Dalam tutorial ini, kita telah menjelajahi bagian-bagian sintaks Java yang terlibat saat menentukan metode di Java.

Secara khusus, kami membahas pengubah akses, tipe kembalian, pengenal metode, daftar parameter, daftar pengecualian, dan isi metode. Kemudian kita melihat definisi dari tanda tangan metode, cara memanggil metode, dan cara membebani metode.

Seperti biasa, kode yang terlihat di sini tersedia di GitHub.