เมื่อเรากำลังเตรียมเขียนคลาส เราพบว่าคลาสหนึ่งมีตัวแปรสมาชิกและเมธอดที่เราต้องการ หากเราต้องการนำตัวแปรสมาชิกและวิธีการในคลาสนี้กลับมาใช้ใหม่ เราไม่จำเป็นต้องประกาศตัวแปรสมาชิกและคำจำกัดความใน คลาสที่เราเขียน เมธอดจะเทียบเท่ากับการมีตัวแปรสมาชิกและวิธีการนี้ เราก็สามารถกำหนดคลาสที่เราเขียนเป็นคลาสย่อยของคลาสนี้ได้
การสืบทอดเป็นกลไกสำหรับการสร้างคลาสใหม่จากคลาสที่มีอยู่ เมื่อใช้การสืบทอด เราสามารถกำหนดคลาสทั่วไปด้วยคุณลักษณะทั่วไป จากนั้นจึงกำหนดคลาสย่อยด้วยคุณลักษณะพิเศษตามคลาสทั่วไป คลาสย่อยจะสืบทอดคุณลักษณะของคลาสทั่วไป และพฤติกรรมและเพิ่มคุณสมบัติและพฤติกรรมใหม่ของตัวเองตามความจำเป็น คลาสที่ได้รับจากการสืบทอดเรียกว่าคลาสย่อย และคลาสที่สืบทอดมาเรียกว่าคลาสพาเรนต์ (ซูเปอร์คลาส)
สังเกต:
Java ไม่สนับสนุนการสืบทอดหลายรายการ กล่าวคือ คลาสย่อยสามารถมีคลาสพาเรนต์ได้เพียงคลาสเดียว ผู้คนคุ้นเคยกับการเรียกความสัมพันธ์ระหว่างคลาสย่อยและคลาสพาเรนต์ว่าความสัมพันธ์แบบ "is-a"
ในการประกาศคลาส คลาสย่อยของคลาสถูกกำหนดโดยใช้คีย์เวิร์ดขยาย รูปแบบทั่วไปคือ:
ชื่อคลาสย่อยของคลาสขยายชื่อคลาสพาเรนต์ {…}
ตัวอย่างเช่น:
คลาสนักเรียนข้อความสิ้นสุดผู้คน{…}
กำหนดคลาส Student เป็นคลาสย่อยของคลาส People และคลาส People คือคลาสหลัก (คลาสซุปเปอร์) ของคลาส Student
โครงสร้างแผนผังคลาส:
ถ้า C เป็นชนิดย่อยของ B และ B เป็นชนิดย่อยของ A เป็นเรื่องปกติที่จะเรียก C ว่าลูกหลานของ A คลาส Java สร้างโครงสร้างต้นไม้ตามความสัมพันธ์ที่สืบทอด (คิดว่าคลาสเป็นโหนดบนแผนผัง) ในโครงสร้างต้นไม้นี้ โหนดรูทคือคลาส Object (Object คือคลาสในแพ็คเกจ java.lang) นั่นคือ Object เป็นคลาสบรรพบุรุษของทุกคลาส คลาสใดก็ได้ที่สืบทอดมาจากคลาส Object แต่ละคลาส (ยกเว้นคลาส Object) มีคลาสพาเรนต์เพียงคลาสเดียวเท่านั้นที่สามารถมีคลาสย่อยได้หลายคลาสหรือเป็นศูนย์
สังเกต:
หากไม่ได้ใช้คีย์เวิร์ดขยายในการประกาศคลาส (ยกเว้นคลาส Object) ระบบจะกำหนดให้คลาสนั้นเป็นคลาสย่อยของ Object โดยค่าเริ่มต้น ตัวอย่างเช่น: การประกาศคลาส "คลาส A" เทียบเท่ากับ "คลาส A ขยายออบเจ็กต์"