Superclass call subclass method ได้ไหม?
Superclass call subclass method ได้ไหม?
Anonim

NS ซุปเปอร์คลาส ตัวแปรอ้างอิง สามารถ ถือ คลาสย่อย ตัวแปรอ้างอิง นี้ ซูเปอร์คลาสเรียกเมธอดได้ ซึ่งกำหนดไว้ใน ซุปเปอร์คลาส เท่านั้น.

ด้วยวิธีนี้ superclass สามารถเข้าถึง subclass field ได้หรือไม่?

NS ซุปเปอร์คลาส โดยตรงไม่ได้ เข้าไป ตัวแปรหรือเมธอดที่ประกาศไว้ใน a คลาสย่อย . ไม่โดยตรง; คลาสย่อย อินสแตนซ์รวมถึงอินสแตนซ์ของพวกเขา ซุปเปอร์คลาส อันเป็นมรดกตกทอดมาเช่นไร ทุ่งนา . สำหรับ ซุปเปอร์คลาส ให้สืบทอดมาแบบเดียวกันหมด คลาสย่อย , (1.)

นอกจากนี้ คลาสพาเรนต์สามารถเรียกเมธอดคลาสลูกได้หรือไม่ ไม่สามารถ Downcasting ใน Java ถ้า ชั้นผู้ปกครอง การอ้างอิงใช้ a คลาสเด็ก ตัวสร้าง (ซึ่งเรียกว่าเป็น upcasting) แล้วเฉพาะเหล่านั้น วิธีการสามารถ เรียกว่าซึ่งมีอยู่ใน ชั้นผู้ปกครอง (กำหนดหรือประกาศ) เช่น แทนที่เท่านั้น วิธีการสามารถ จะถูกเรียก

นอกจากนี้ subclass สามารถเป็น superclass ได้หรือไม่?

ดังนั้น เมื่อคุณเลื่อนลงมาในลำดับชั้น ชั้นเรียนจะมีความเชี่ยวชาญมากขึ้นเรื่อยๆ: คำจำกัดความ: A คลาสย่อย เป็นคลาสที่มาจากคลาสอื่น NS คลาสย่อย สืบทอดสภาพและพฤติกรรมจากบรรพบุรุษทั้งหมด คำว่า ซุปเปอร์คลาส หมายถึงบรรพบุรุษโดยตรงของคลาสเช่นเดียวกับคลาสที่สืบทอดทั้งหมด

คลาสย่อยสืบทอดตัวแปรหรือไม่?

รายการต่อไปนี้ลงรายละเอียดสมาชิก ตัวแปร นั้นคือ ได้รับการถ่ายทอด โดย คลาสย่อย : คลาสย่อยสืบทอด สมาชิกเหล่านั้น ตัวแปร ประกาศเป็นสาธารณะหรือได้รับการคุ้มครอง คลาสย่อยสืบทอด สมาชิกเหล่านั้น ตัวแปร ประกาศโดยไม่มีตัวระบุการเข้าถึงตราบใดที่ คลาสย่อย อยู่ในแพ็คเกจเดียวกันกับซูเปอร์คลาส

แนะนำ: