ใน C ++ วิธีการของสมาชิกคลาสนั้นไม่ใช่เสมือนโดยค่าเริ่มต้น ซึ่งหมายความว่าสามารถสร้างเสมือนได้โดยการระบุ
ในทางกลับกัน ใน Java เมธอดจะเป็นแบบเสมือนโดยค่าเริ่มต้น และสามารถทำให้ไม่เป็นเสมือนได้ด้วยความช่วยเหลือของคีย์เวิร์ด "ขั้นสุดท้าย"
ตัวอย่าง
class base_class{ public void display_msg(){ System.out.println("The display_msg method of base class class"); } } class derived_class extends base_class{ public void display_msg(){ System.out.println("The display_msg of derived class called"); } } public class Main{ public static void main(String[] args){ base_class my_instance = new base_class();; my_instance.display_msg(); } }
ผลลัพธ์
The display_msg method of base class class
สร้างคลาสชื่อ 'base_class' ซึ่งมีฟังก์ชัน 'display_msg' ฟังก์ชันนี้จะแสดงข้อความที่เกี่ยวข้องเท่านั้น ฟังก์ชันอื่นที่ชื่อว่า 'derived_class' นั้นสืบทอดมาจาก 'base_class' คลาสนี้ยังมี 'display_msg' ที่แสดงข้อความที่เกี่ยวข้อง คลาสอื่นที่ชื่อว่า Main ประกอบด้วยฟังก์ชันหลัก โดยที่อินสแตนซ์ของ base_class จะถูกสร้างขึ้น 'display_msg' ถูกเรียกพร้อมกับอินสแตนซ์นี้ และผลลัพธ์จะแสดงบนหน้าจอ