Kelas memiliki dua anggota penting: variabel anggota dan metode. Beberapa anggota subkelas dideklarasikan dan didefinisikan oleh subkelas itu sendiri, sementara yang lain diwarisi dari kelas induknya. Subkelas mewarisi variabel anggota kelas induk sebagai salah satu variabel anggotanya sendiri, seolah-olah variabel anggota dideklarasikan secara langsung di subkelas, dan dapat dioperasikan dengan metode instan apa pun yang ditentukan dalam subkelas. Subkelas mewarisi metode dari kelas induk sebagai salah satu metodenya sendiri, seolah-olah metode tersebut didefinisikan secara langsung di subkelas, dan dapat dipanggil dengan metode instan apa pun yang ditentukan dalam subkelas.
Warisan antara subkelas dan kelas induk dalam paket yang sama:
Jika subkelas dan kelas induk berada dalam paket yang sama, maka subkelas tersebut secara alami mewarisi variabel anggota non-pribadi di kelas induk sebagai variabel anggotanya sendiri, dan juga secara alami mewarisi metode non-pribadi di kelas induk sebagai miliknya sendiri. . Akses ke metode, variabel anggota yang diwarisi, atau metode tetap tidak berubah.
Warisan ketika subkelas dan kelas induk tidak berada dalam paket yang sama:
Jika subkelas dan kelas induk tidak berada dalam paket yang sama, maka variabel anggota akses privat dan ramah di kelas induk tidak akan diwarisi oleh subkelas, artinya subkelas hanya mewarisi variabel dan metode anggota akses publik dan terlindungi di kelas induk sebagai variabel Anggota dan metode subkelas.
Penjelasan lebih lanjut tentang dilindungi:
Variabel dan metode anggota yang dilindungi di kelas A dapat diwarisi oleh kelas turunannya. Misalnya, jika B adalah subkelas dari A, C adalah subkelas dari B, dan D adalah subkelas dari C, maka kelas B, C, dan D semuanya mewarisi variabel anggota yang dilindungi dan metode kelas A.
Jika Anda membuat objek di D sendiri menggunakan kelas D, maka objek tersebut selalu dapat mengakses variabel terlindungi yang diwariskan atau ditentukan sendiri serta metode yang dilindungi melalui operator "." dibuat menggunakan kelas D di kelas tersebut. Izin objek ini untuk mengakses variabel yang dilindungi dan metode yang dilindungi melalui operator "."
1. Untuk variabel dan metode anggota yang dilindungi yang dideklarasikan oleh subkelas D itu sendiri, selama kelas Lain dan kelas D berada dalam paket yang sama, objek objek dapat mengakses variabel dan metode anggota yang dilindungi tersebut.
2. Untuk variabel anggota yang dilindungi atau metode yang dilindungi yang diwarisi oleh subkelas D dari kelas induk, variabel tersebut perlu ditelusuri kembali ke kelas "leluhur" tempat variabel atau metode anggota yang dilindungi tersebut berada. selama kelas Lain dan kelas A berada dalam paket yang sama, objek objek dapat mengakses variabel yang dilindungi dan metode yang dilindungi.