Statis: (pengubah statis) Kandungan modifikasi statis dalam objek yang berorientasi objek milik kelas, tidak secara langsung berafiliasi dengan objek, sehingga variabel anggota yang dimodifikasi oleh statis umumnya disebut variabel anggota kelas, dan metode modifikasi statis umumnya disebut metode kelas.
Klasifikasi:
1. Variabel statis, juga disebut variabel statis atau variabel kelas. Jenis lain adalah variabel yang tidak dimodifikasi oleh statis, disebut variabel instan.
2. Metode statis, juga disebut metode statis atau metode kelas, tidak dapat mendefinisikan variabel statis dalam metode statis, dan metode instan tidak bisa.
3. Blok kode statis, di blok statis, Anda dapat mengakses variabel statis dan memanggil metode statis.
Catatan:
1. Jika statis tidak bergantung pada objek apa pun, tidak ada metode ini.
2. Metode statis tidak dapat memanggil metode non-statis, tetapi metode non-statis dapat memanggil metode statis.
3. Metode atau variabel yang dimodifikasi oleh statis tidak perlu mengandalkan objek untuk akses. Selama kelas dimuat, mereka dapat diakses melalui nama kelas.
4. Metode statis tidak dapat ditulis ulang. Ketika subclass dan kelas induk memiliki metode statis yang sama, panggilan default adalah metode statis kelas induk, dan metode statis subclass tersembunyi.
5. Blok statis umumnya digunakan untuk menginisialisasi variabel statis di kelas. Berdasarkan konten modifikasi statis, prinsip definisi pertama dan eksekusi pertama diikuti.
6. Jika variabel atau metode sering disebut, gunakan modifikasi statis. Jika tidak, gunakan lebih sedikit untuk menghindari kebocoran memori.
Contoh kode variabel statis:
tes kelas publik {static int a = 1; // variabel statis int b = 2; // variabel instance public static void main (string [] args) {System.out.println (test.a); //System.out.print(a);system.out.println(b); // Variabel output langsung B akan melaporkan tes kesalahan t = tes baru (); // Buat instance object system.out.println (tb); // variabel panggilan objek}}Contoh Kode untuk Metode Statis:
tes kelas publik {static int a = 1; // variabel statis int b = 2; // variabel variabel statis void a () {// metode statis b (); // Kesalahan dilaporkan, metode statis tidak dapat memanggil metode metode non-statis.out.println (test.a); //System.out.print(a) ;void b () {// Metode non-statis test.a (); //A(); Metode non-statis dapat memanggil metode statis System.out.println (b); System.out.println (test.a); //System.out.print(a); public static void main (string [] args) {test.a (); // a (); b (); // Kesalahan dilaporkan, metode non-statis perlu dipanggil melalui tes objek instance t = test baru (); tb ();}}/**Bisakah itu ditulis ulang*/kelas Staticson memperluas tes {// subkelas mewarisi kelas induknya. Dari subkelas, secara ketat, ini bukan metode statis dari kelas induk}}Contoh kode blok statis:
tes kelas publik {int c = 3; static int a = 1; static int b = 2; static {a = 10; b = 20; c = 30; // Laporkan kesalahan, variabel di blok statis harus berupa variabel statis System.out.println (a+b);} public static void main (string [] args) {test t = new test (); system.out.println (tc); // Jalankan variabel statis terlebih dahulu, lalu jalankan variabel instance}} Final: Pahami sebagai kekal.
Catatan:
1. Final dan statis sering digunakan bersama.
2. Variabel yang dimodifikasi oleh final hanya dapat ditetapkan sekali.
3. Metode terakhir tidak dapat ditulis ulang, tetapi dapat kelebihan beban.
4. Kelas terakhir tidak dapat diwarisi.
5. Dua kata kunci final dan abstrak berlawanan, dan tidak mungkin untuk memodifikasi kelas secara bersamaan. Karena final tidak dapat ditulis ulang, dan abstrak harus ditulis ulang.
6. Kata kunci akhir berbeda dari kata kunci akhir, yang digunakan untuk penanganan pengecualian.
7. Dalam kebanyakan kasus, final tidak digunakan untuk memodifikasi metode dan kelas karena tidak dapat diukur.
8. Final dapat digunakan di lingkungan tertentu untuk meningkatkan kinerja program dan mengoptimalkan struktur program.
Contoh kode variabel akhir dan kelas akhir:
tes kelas akhir publik {final static int a = 1; statis {a = 10; // Laporkan kesalahan, hanya satu operasi penugasan yang dapat dilakukan}} kelas finalson memperluas tes {// melaporkan kesalahan, kelas akhir tidak dapat diwariskan}Contoh kode metode akhir:
tes kelas publik {final static int a = 1; final void a () {// final Method System.out.println (a);}} class finalTest memperluas tes {void a () {// kesalahan dilaporkan, Final Metode Final Finaler.