Saat menulis subkelas, kita masih bisa mendeklarasikan variabel anggota. Kasus khusus adalah nama variabel anggota yang dideklarasikan sama dengan nama variabel anggota yang diwarisi dari kelas induk, dan tipe yang dideklarasikan bisa berbeda case , subkelas akan menyembunyikan variabel anggota yang diwarisi.
Ciri-ciri subkelas yang menyembunyikan variabel anggota yang diwariskan adalah sebagai berikut:
(1) Objek dan metode subkelas yang ditentukan oleh subkelas itu sendiri mengoperasikan variabel anggota dengan nama yang sama dengan kelas induk, yang merujuk pada variabel anggota yang dideklarasikan ulang oleh subkelas.
(2) Objek subkelas masih dapat memanggil metode yang diwarisi dari kelas induk untuk mengoperasikan variabel anggota yang disembunyikan oleh subkelas. Artinya, variabel anggota yang dioperasikan oleh metode yang diwarisi oleh subkelas harus berupa variabel anggota yang diwarisi atau disembunyikan oleh subkelas.
Melihat:
Metode yang diwarisi dari subkelas hanya dapat beroperasi pada variabel anggota subkelas yang diwarisi dan disembunyikan. Suatu metode yang baru didefinisikan oleh subkelas dapat beroperasi pada variabel anggota yang diwarisi oleh subkelas dan baru dideklarasikan oleh subkelas, namun tidak dapat beroperasi pada variabel anggota yang disembunyikan oleh subkelas.
Subkelas dapat menyembunyikan metode yang diwariskan dengan menimpanya. Penggantian metode juga disebut penggantian metode. Jika suatu subkelas dapat mewarisi suatu metode dari kelas induknya, maka subkelas tersebut berhak untuk mengganti metode tersebut. Penggantian metode mengacu pada pendefinisian metode dalam subkelas. Tipe metode ini konsisten dengan tipe metode kelas induk atau subtipe tipe metode kelas induk, dan nama metode, nama metode. jumlah parameter, jenis parameter dan metode kelas induk sama persis. Metode yang didefinisikan dengan cara ini oleh subkelas disebut metode yang ditimpa oleh subkelas dan bukan merupakan metode baru.
Subkelas dapat menyembunyikan metode yang diwariskan melalui penulisan ulang metode, dan mengubah status dan perilaku kelas induk menjadi miliknya sendiri. Jika metode kelas induk f() dapat diwarisi oleh kelas anak, kelas anak mempunyai hak untuk mengganti f(). Setelah kelas anak mengesampingkan metode kelas induk f(), metode yang diwarisi f() akan disembunyikan. Kemudian kelas anak mempunyai hak untuk mengganti f(). Ketika objek kelas memanggil metode f(), ia harus memanggil metode yang diganti f(). Jika subkelas tidak melakukan override, namun mewarisi metode f() dari kelas induk, maka tentu saja objek yang dibuat oleh subkelas tersebut dapat memanggil metode f(), namun perilaku yang dihasilkan oleh metode f() sama dengan yaitu kelas induk.
Metode yang diganti tidak hanya dapat mengoperasikan variabel anggota yang diwarisi dan memanggil metode yang diwarisi, tetapi juga dapat mengoperasikan variabel anggota subkelas yang baru dideklarasikan dan memanggil metode lain yang baru ditentukan, tetapi metode ini tidak dapat mengoperasikan variabel anggota dan metode yang disembunyikan oleh subkelas. Jika suatu subkelas ingin menggunakan metode tersembunyi atau variabel anggota, maka harus menggunakan kata kunci super.
Melihat:
Saat mengganti metode kelas induk, Anda tidak diperbolehkan mengurangi hak akses metode tersebut, tetapi Anda dapat meningkatkan hak akses. Urutan pengubah pembatasan akses dari hak akses tinggi ke rendah adalah: publik, dilindungi, ramah, pribadi. Misalnya: subkelas menimpa metode f dari kelas induk. Izin akses metode ini di kelas induk adalah tingkat yang dilindungi. Ketika subkelas ditimpa, tingkatnya tidak boleh lebih rendah dari yang dilindungi.