Dalam hal penggunaan kata kunci, kita sudah mengetahui sesuatu tentang metode statis. Untuk mencegah kesalahan yang tidak perlu saat menggunakannya, setiap orang harus memahami ruang lingkup penggunaannya. Artikel ini membagi poin-poin yang perlu diperhatikan saat menggunakan static menjadi dua aspek, satu adalah cakupan akses, dan yang lainnya adalah catatan tentang pemanggilan metode. Mari kita lihat poin-poin lengkap yang perlu diperhatikan saat menggunakan static.
1. Saat menggunakan metode statis, Anda hanya dapat mengakses properti dan metode yang dideklarasikan secara statis, namun properti dan metode yang tidak dideklarasikan secara statis tidak dapat diakses.
paket com.jk.ref; orang kelas{ nama string; String statis pribadi country="China"; Orang publik(Nama string){ ini.nama=nama; } public void beritahu(){ System.out.println("nama:"+nama+" "+"negara:"+negara); } /** * @kembalikan negara */ String statis publik getCountry() { negara kembali; } /** * @param country negara yang akan ditetapkan */ public static void setCountry(String negara) { People.country = negara; } } kelas publik StaticDemo01 { public static void main(String[] args) { // TODO Stub metode yang dibuat secara otomatis People.setCountry("shanghai"); Orang ps1=Orang baru("zhangsan"); //Orang.negara="Shanghai"; ps1.beritahu(); Orang ps2=Orang baru("lisi"); // ps2.negara="Shanghai"; ps2.beritahu(); Orang ps3=Orang baru("wangwu"); // ps3.negara="Shanghai"; ps3.beritahu(); } }
2. Referensi kelas induk hanya dapat menyesuaikan metode yang ditimpa dari kelas induk dan kelas anak. Metode dengan nama induk dan anak yang sama tidak akan ditimpa tetapi dikaburkan.
kelas publik TesUtama { public static void main(String[] args) { Super sup = new Sub(); //Enkapsulasi (pembentukan ke atas) sup.m1(); //Referensi kelas induk tidak dapat menyesuaikan metode subkelas yang tidak diganti, dan menghasilkan mi di Super sup.m2();//Panggil metode subkelas m2, warisi dan bangun metode kelas induk terlebih dahulu, timpa (tulis ulang) metode dengan nama metode yang sama, dan keluaran m2 di Sub Sub sub = (Sub)sup; //Unboxing (bentuk ke bawah) sub.m1(); //Panggil metode statis subkelas m1, pertama-tama buat metode kelas induk, nama metodenya sama, nama metodenya adalah metode masking yang sama, keluaran m2 di Sub sub.m2();//Panggil metode subkelas m2, warisi dan bangun metode kelas induk terlebih dahulu, timpa (tulis ulang) metode dengan nama metode yang sama, dan keluaran m2 di Sub } } class Super{ //Kelas induk public static void m1() { //Metode statis kelas induk System.out.println(“m1 di Super”); } public void m2() { //Metode kelas induk System.out.println(“m2 di Super”); } } class Sub extends Super{ //Subkelas public static void m1() { //Subkelas metode statis System.out.println(“m1 di Sub”); } public void m2() { //Metode subkelas System.out.println(“m2 di Sub”); } }
Di atas adalah poin yang perlu diperhatikan saat menggunakan statis di Java. Selama operasi tertentu, pastikan untuk tidak mengabaikan kedua item penggunaan ini. Ini juga merupakan titik kesalahan umum yang sering ditemui pemula saat berlatih.