คำถามติดแท็ก dynamic-binding

9
คงเทียบกับ การผูกแบบไดนามิกใน Java
ฉันกำลังทำการบ้านสำหรับหนึ่งในชั้นเรียนของฉันและในนั้นฉันต้องให้ตัวอย่างการใช้ไวยากรณ์ Java ของแบบคงที่และแบบไดนามิกที่มีผลผูกพัน ฉันเข้าใจแนวคิดพื้นฐานว่าการผูกแบบคงที่เกิดขึ้นในเวลาคอมไพล์และการเชื่อมโยงแบบไดนามิกเกิดขึ้นที่รันไทม์ แต่ฉันไม่สามารถเข้าใจได้ว่ามันทำงานอย่างไรโดยเฉพาะ ฉันพบตัวอย่างของการผูกแบบคงที่ทางออนไลน์ที่ให้ตัวอย่างนี้: public static void callEat(Animal animal) { System.out.println("Animal is eating"); } public static void callEat(Dog dog) { System.out.println("Dog is eating"); } public static void main(String args[]) { Animal a = new Dog(); callEat(a); } และสิ่งนี้จะพิมพ์ว่า "สัตว์กำลังกิน" เนื่องจากการเรียกcallEatใช้การผูกแบบคงที่แต่ฉันไม่แน่ใจว่าเหตุใดจึงถือว่าเป็นการผูกแบบคงที่ จนถึงขณะนี้ไม่มีแหล่งข้อมูลใดที่ฉันเคยเห็นที่สามารถอธิบายสิ่งนี้ได้ในแบบที่ฉันสามารถทำตามได้

12
การรวมไดนามิก Java และการแทนที่เมธอด
เมื่อวานนี้ฉันมีการสัมภาษณ์ทางเทคนิคทางโทรศัพท์สองชั่วโมง (ซึ่งฉันผ่านไปแล้วววว!) แต่ฉันก็ไม่เข้าใจคำถามต่อไปนี้เกี่ยวกับการผูกแบบไดนามิกใน Java และมันทำให้งงเป็นทวีคูณเพราะฉันเคยสอนแนวคิดนี้ให้กับนักศึกษาปริญญาตรีเมื่อฉันเป็น TA เมื่อไม่กี่ปีที่ผ่านมาดังนั้นโอกาสที่ฉันให้ข้อมูลที่ผิดจึงเป็นการรบกวนเล็กน้อย ... นี่คือปัญหาที่ฉันได้รับ: /* What is the output of the following program? */ public class Test { public boolean equals( Test other ) { System.out.println( "Inside of Test.equals" ); return false; } public static void main( String [] args ) { Object t1 = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.