การทำความเข้าใจการสืบทอดเป็นกุญแจสำคัญในการทำความเข้าใจการเขียนโปรแกรมเชิงวัตถุ ใน Java คลาสที่มีอยู่จะได้รับการสืบทอดผ่านคำหลักขยาย คลาสที่สืบทอดมานั้นเรียกว่าคลาสแม่ (superclass, คลาสฐาน) และคลาสใหม่เรียกว่าคลาสย่อย (คลาสที่ได้รับ) ไม่อนุญาตให้มีการสืบทอดหลายครั้งใน Java
(1) มรดก
Animal Class {Void Eat () {System.out.println ("Animal Eat"); } void sleep () {system.out.println ("การนอนหลับสัตว์"); } void breathe () {system.out.println ("สัตว์หายใจ"); }} คลาสปลาขยายสัตว์ {} testNew คลาสสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ stub anim an = สัตว์ใหม่ (); ปลา fn = ปลาใหม่ (); AN.Breathe (); fn.Breathe (); - ดำเนินการใน eclipse:
สัตว์หายใจ! สัตว์หายใจ!
แต่ละคลาสในไฟล์. java จะสร้างไฟล์. class ที่สอดคล้องกันภายใต้ถังโฟลเดอร์ ผลการดำเนินการแสดงให้เห็นว่าคลาสที่ได้รับสืบทอดวิธีทั้งหมดของคลาสแม่
(2) ความครอบคลุม
Animal Class {Void Eat () {System.out.println ("Animal Eat"); } void sleep () {system.out.println ("การนอนหลับสัตว์"); } void breathe () {system.out.println ("สัตว์หายใจ"); }} ชั้นปลาขยายสัตว์ {void breathe () {system.out.println ("ปลาหายใจ"); }} การทดสอบคลาสสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// วิธีการที่สร้างอัตโนมัติ todo stub iment an = สัตว์ใหม่ (); ปลา fn = ปลาใหม่ (); AN.Breathe (); fn.Breathe (); - ผลการดำเนินการ:
สัตว์หายใจหายใจ
กำหนดวิธีการในคลาสย่อยที่มีชื่อเดียวกับคลาสพาเรนต์ประเภทการส่งคืนและประเภทพารามิเตอร์เหมือนกันซึ่งเรียกว่าการแทนที่ของวิธีการ วิธีการแทนที่เกิดขึ้นระหว่างคลาสย่อยและคลาสแม่ นอกจากนี้ Super สามารถให้การเข้าถึงคลาสหลัก