Pada Java 9, metode dalam antarmuka bisa bersifat pribadi. Metode pribadi dapat berupa metode statis atau instan. Karena metode pribadi hanya dapat digunakan dalam metode antarmuka itu sendiri, penggunaannya terbatas pada metode penolong untuk metode antarmuka lainnya.
Cay S. Horstmann, Core Java Volume I - Fundamentals
Saya mengerti bahwa kita dapat menempatkan fungsionalitas umum dalam metode pribadi dan tidak membuatnya dapat diakses oleh publik. Tetapi kita dapat memiliki dua jenis metode pribadi di sini:
private
private static
Menggunakan private static
metode dapat dimengerti, tetapi kapan kita harus menggunakan private
metode? Kami tidak berurusan dengan contoh di sini karena ini adalah antarmuka, jadi mengapa membuat private
metode diperbolehkan? Bukankah kita hanya perlu private static
metode?
private
metode instance antarmuka di kelas yang mengimplementasikan antarmuka.private static
metode.Jawaban:
OK, upaya lain untuk benar-benar menjawab pertanyaan OP. Saat Anda perlu memanggil metode non-statis lain di antarmuka dari metode pribadi, metode pribadi tidak boleh statis. Misalnya, akan ada kesalahan kompilasi jika metode pribadi di bawah ini statis:
sumber
Antarmuka digunakan untuk mendefinisikan perilaku objek. Ini berarti semua metode antarmuka terpapar. Saat menggunakan metode default, kami dapat memberikan implementasi standar dari metode yang didefinisikan, menawarkan penggunaan kembali kode melintasi batas kelas.
Dalam beberapa kasus, fungsionalitas diperlukan (mungkin hanya untuk penggunaan kembali kode dalam metode standar yang berbeda ) tetapi tidak boleh diekspos karena akan mencemari ruang kelas '/ objek. Di sinilah metode standar pribadi berguna. Contoh metode default pribadi dapat berupa pabrik, validasi, atau penanganan keadaan default.
sumber