عند استخدام طريقة البناء لفئة فرعية لإنشاء كائن من الفئة الفرعية، لا يتم تخصيص ذاكرة لمتغيرات الأعضاء المعلنة في الفئة الفرعية فحسب، بل يتم أيضًا تخصيص مساحة ذاكرة لمتغيرات الأعضاء في الفئة الأصلية، ولكن فقط الجزء الموروث من الفئة الفرعية يتم تخصيص متغيرات الأعضاء كمتغيرات مخصصة لكائنات الفئة الفرعية.
وهذا يعني أنه على الرغم من أن متغيرات الأعضاء الخاصة في الفئة الأصلية قد خصصت مساحة للذاكرة، فلن يتم استخدامها كمتغيرات لكائنات الفئة الفرعية؛ بالمثل، إذا لم تكن الفئة الفرعية والفئة الأصلية في نفس الحزمة، على الرغم من أنها صديقة خصصت متغيرات الأعضاء في الفئة الأصلية مساحة ذاكرة، ولكن ليس كمتغير لكائن فئة فرعية.
في هذه المرحلة، نشعر بشكل أو بآخر أن بعض الذاكرة تبدو ضائعة عندما تقوم الفئة الفرعية بإنشاء الكائن. وذلك لأنه عندما يتم إنشاء كائن باستخدام فئة فرعية، يتم أيضًا تخصيص مساحة ذاكرة لمتغيرات الأعضاء في الفئة الأصلية، ولكن يتم استخدام جزء منها فقط كمتغيرات مخصصة لكائن الفئة الفرعية. على سبيل المثال: على الرغم من أن متغيرات الأعضاء الخاصة في الفئة الأصل قد خصصت مساحة ذاكرة، إلا أنها لا تستخدم كمتغيرات لكائنات الفئة الفرعية، بالطبع، فهي ليست متغيرات لكائنات الفئة الأصلية، لأننا لا نستخدم الأصل فئة لإنشاء أي كائنات على الإطلاق. ومع ذلك، يجب أن نلاحظ أنه لا تزال هناك بعض الأساليب في الفئة الفرعية الموروثة من الفئة الأصل، ولكن يمكن أن تعمل هذه الأساليب على هذه المتغيرات غير الموروثة.
على سبيل المثال: يستدعي كائن الفئة الفرعية ChinaPeople الطريقة الموروثة لتشغيل المتغيرات التي لم ترثها الفئة الفرعية ولكنها خصصت مساحة ذاكرة.
classPeople{privateintaverHeight=168;publicintgetAverHeight(){returnaverHeight;}}classChinaPeopleextendsPeople{intheight;publicvoidsetHeight(inth){//height=h+averHeight;// غير قانوني، لا ترث الفئة الفرعية averHeightheight=h;}publicintgetHeight(){returnheight }}publicclassMainpublicstaticvoidmain(Stringargs[]){ChinaPeoplezhangSan=newChinaPeople();System.out.println(قيمة متوسط الارتفاع غير الموروثة بواسطة كائن الفئة الفرعية هي: +zhangSan.getAverHeight());zhangSan.setHeight(180);System .out .println(قيمة ارتفاع متغير المثيل لكائن الفئة الفرعية هي: +zhangSan.getHeight());}}
نتائج التشغيل هي كما يلي:
قيمة AverageHeight التي لم يرثها كائن الفئة الفرعية هي: 168. قيمة ارتفاع متغير المثيل لكائن الفئة الفرعية هي: 180.