เมื่อใช้วิธีการสร้างของคลาสย่อยเพื่อสร้างอ็อบเจ็กต์ของคลาสย่อย ไม่เพียงแต่ตัวแปรสมาชิกที่ประกาศในคลาสย่อยเท่านั้นที่จะได้รับการจัดสรรหน่วยความจำ แต่ยังรวมถึงตัวแปรสมาชิกของคลาสพาเรนต์ด้วยที่ได้รับการจัดสรรพื้นที่หน่วยความจำ แต่เฉพาะส่วนที่สืบทอดโดย คลาสย่อยได้รับการจัดสรร ตัวแปรสมาชิกทำหน้าที่เป็นตัวแปรที่กำหนดให้กับวัตถุคลาสย่อย
กล่าวคือ แม้ว่าตัวแปรไพรเวตสมาชิกในคลาสพาเรนต์ได้จัดสรรพื้นที่หน่วยความจำแล้ว แต่ตัวแปรเหล่านั้นจะไม่ถูกใช้เป็นตัวแปรของอ็อบเจ็กต์คลาสย่อย ในทำนองเดียวกัน หากคลาสย่อยและคลาสพาเรนต์ไม่อยู่ในแพ็กเกจเดียวกัน แม้ว่าจะเป็นมิตรก็ตาม ตัวแปรสมาชิกของคลาสพาเรนต์ได้จัดสรรพื้นที่หน่วยความจำ แต่ไม่ใช่ตัวแปรของอ็อบเจ็กต์คลาสย่อย
ณ จุดนี้ เรารู้สึกว่าหน่วยความจำบางส่วนดูเหมือนจะสูญเปล่าเมื่อคลาสย่อยสร้างอ็อบเจ็กต์ ไม่มากก็น้อย เนื่องจากเมื่อวัตถุถูกสร้างขึ้นด้วยคลาสย่อย ตัวแปรสมาชิกของคลาสพาเรนต์ก็จะถูกจัดสรรพื้นที่หน่วยความจำเช่นกัน แต่มีเพียงบางส่วนเท่านั้นที่ถูกใช้เป็นตัวแปรที่กำหนดให้กับวัตถุคลาสย่อย ตัวอย่างเช่น แม้ว่าตัวแปรไพรเวตสมาชิกในคลาสพาเรนต์ได้จัดสรรพื้นที่หน่วยความจำแล้ว แต่ตัวแปรเหล่านั้นจะไม่ถูกใช้เป็นตัวแปรของออบเจ็กต์คลาสย่อย แน่นอนว่าตัวแปรเหล่านั้นไม่ใช่ตัวแปรของออบเจ็กต์ของคลาสพาเรนต์ เพราะเราไม่ได้ใช้พาเรนต์ คลาสเพื่อสร้างวัตถุใดๆ ได้เลย อย่างไรก็ตาม เราควรสังเกตว่ายังมีวิธีการบางอย่างในคลาสย่อยที่สืบทอดมาจากคลาสพาเรนต์ แต่วิธีการเหล่านี้สามารถทำงานกับตัวแปรที่ไม่ได้รับการสืบทอดเหล่านี้ได้
ตัวอย่างเช่น: อ็อบเจ็กต์ของคลาสย่อย ChinaPeople เรียกใช้เมธอดที่สืบทอดเพื่อดำเนินการตัวแปรที่ไม่ได้รับการสืบทอดโดยคลาสย่อย แต่ได้จัดสรรพื้นที่หน่วยความจำ
classPeople{privateintaverHeight=168;publicintgetAverHeight(){returnaverHeight;}}classChinaPeopleextendsPeople{intheight;publicvoidsetHeight(inth){//height=h+averHeight;//ผิดกฎหมาย คลาสย่อยไม่สืบทอด averHeightheight=h;}publicintgetHeight(){returnheight ; }}publicclassMainpublicstaticvoidmain(Stringargs[]){ChinaPeoplezhangSan=newChinaPeople();System.out.println(ค่าของ AverageHeight ที่ไม่ได้รับการสืบทอดจากวัตถุคลาสย่อยคือ: +zhangSan.getAverHeight());zhangSan.setHeight(180);ระบบ .out .println(ค่าของความสูงของตัวแปรอินสแตนซ์ของออบเจ็กต์คลาสย่อยคือ: +zhangSan.getHeight());}}
ผลการวิ่งมีดังนี้:
ค่าของ AverageHeight ที่ไม่ได้รับการสืบทอดโดยวัตถุคลาสย่อยคือ: 168 ค่าของความสูงของตัวแปรอินสแตนซ์ของวัตถุคลาสย่อยคือ: 180