عندما نستعد لكتابة فئة، نجد أن فئة معينة لديها متغيرات الأعضاء والأساليب التي نحتاجها. إذا أردنا إعادة استخدام متغيرات الأعضاء والأساليب في هذه الفئة، فلا نحتاج إلى الإعلان عن متغيرات الأعضاء وتعريفاتهم في ملف. الطريقة التي نكتبها تعادل وجود متغير العضو والطريقة، ثم يمكننا تحديد الفئة التي نكتبها كفئة فرعية من هذه الفئة.
الميراث هو آلية لإنشاء فئات جديدة من الفئات الموجودة. باستخدام الميراث، يمكننا أولاً تحديد فئة عامة ذات سمات مشتركة، ثم تحديد فئة فرعية ذات سمات خاصة بناءً على الفئة العامة. وسلوكياته، وإضافة خصائصه وسلوكياته الجديدة حسب الحاجة. تسمى الفئة التي تم الحصول عليها عن طريق الميراث فئة فرعية، وتسمى الفئة الموروثة فئة الأصل (الفئة الفائقة).
يلاحظ:
لا تدعم Java الميراث المتعدد، أي أن الفئة الفرعية يمكن أن تحتوي على فئة أصل واحدة فقط. اعتاد الناس على تسمية العلاقة بين فئة فرعية وفئة أصل بعلاقة "is-a".
في إعلان فئة، يتم تعريف فئة فرعية من فئة باستخدام الكلمة الأساسية يمتد التنسيق العام هو:
يمتد اسم الفئة الفرعية للفئة اسم الفئة الأصلية {...}
على سبيل المثال:
كلاسStudentextendsPeople{…}
حدد فئة الطالب كفئة فرعية لفئة الأشخاص، وفئة الأشخاص هي الفئة الأصلية (الفئة الفائقة) لفئة الطالب.
هيكل شجرة الفئة:
إذا كان C هو نوع فرعي من B، وكان B هو نوع فرعي من A، فمن المعتاد تسمية C بأنه سليل A. تشكل فئات Java بنية شجرة وفقًا لعلاقات الميراث (فكر في الفئات كعقد على الشجرة)، في بنية الشجرة هذه، العقدة الجذرية هي فئة الكائن (الكائن هو فئة في حزمة java.lang)، أي الكائن. هي فئة الأجداد من جميع الطبقات. أي فئة هي سليل فئة الكائن. كل فئة (باستثناء فئة الكائن) لديها فئة أصل واحدة فقط يمكن أن تحتوي الفئة على فئات فرعية متعددة أو صفر.
يلاحظ:
إذا لم يتم استخدام الكلمة الأساسية الممتدة في تعريف فئة ما (باستثناء فئة الكائن)، فسيتم تعيين الفئة بشكل افتراضي على فئة فرعية من الكائن بواسطة النظام. على سبيل المثال: إعلان الفئة "الفئة أ" يعادل "الفئة أ توسع الكائن".