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