Saat kita bersiap untuk menulis sebuah kelas, kita menemukan bahwa kelas tertentu memiliki variabel anggota dan metode yang kita perlukan. Jika kita ingin menggunakan kembali variabel dan metode anggota di kelas ini, kita tidak perlu mendeklarasikan variabel dan definisi anggota di kelas tersebut kelas yang kita tulis. Metode setara dengan memiliki variabel dan metode anggota ini, maka kita dapat mendefinisikan kelas yang kita tulis sebagai subkelas dari kelas ini.
Warisan adalah mekanisme untuk membuat kelas baru dari kelas yang sudah ada. Dengan menggunakan pewarisan, pertama-tama kita dapat mendefinisikan kelas umum dengan atribut yang sama, lalu menentukan subkelas dengan atribut khusus berdasarkan kelas umum tersebut. dan perilaku, dan menambahkan properti dan perilaku baru sesuai kebutuhan. Kelas yang diperoleh melalui pewarisan disebut subkelas, dan kelas yang diwarisi disebut kelas induk (kelas super).
Melihat:
Java tidak mendukung pewarisan berganda, yaitu subkelas hanya dapat memiliki satu kelas induk. Orang terbiasa menyebut hubungan antara subkelas dan kelas induk sebagai hubungan "is-a".
Dalam deklarasi suatu kelas, subkelas dari suatu kelas didefinisikan dengan menggunakan kata kunci extends. Format umumnya adalah:
nama subkelas kelas diperluas nama kelas induk {…}
Misalnya:
classStudentextendsPeople{…}
Definisikan kelas Student sebagai subkelas dari kelas People, dan kelas People adalah kelas induk (kelas super) dari kelas Student.
Struktur pohon kelas:
Jika C adalah subtipe dari B, dan B adalah subtipe dari A, C biasanya disebut sebagai turunan dari A. Kelas Java membentuk struktur pohon berdasarkan hubungan pewarisan (anggap kelas sebagai simpul pada pohon ini, simpul akar adalah kelas Objek (Objek adalah kelas dalam paket java.lang), yaitu Objek. adalah Kelas leluhur dari semua kelas. Setiap kelas adalah turunan dari kelas Object. Setiap kelas (kecuali kelas Object) mempunyai satu dan hanya satu kelas induk.
Melihat:
Jika kata kunci extends tidak digunakan dalam deklarasi suatu kelas (kecuali kelas Object), kelas tersebut ditetapkan secara default ke subkelas Object oleh sistem. Misalnya: deklarasi kelas "kelas A" setara dengan "kelas A memperluas Objek".