Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่าง Static Binding และ Dynamic Binding ใน Java


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

ซีเนียร์ เลขที่
คีย์
การผูกแบบคงที่
Dynamic Binding

1

พื้นฐาน

ได้รับการแก้ไขในเวลารวบรวม

ได้รับการแก้ไขเมื่อรันไทม์

2

กลไกการแก้ปัญหา

ประเภทการใช้การผูกแบบคงที่ของคลาสและฟิลด์

การผูกแบบไดนามิกใช้วัตถุเพื่อแก้ไขการผูก

3

ตัวอย่าง

การโอเวอร์โหลดเป็นตัวอย่างของการผูกแบบคงที่

การแทนที่เมธอดเป็นตัวอย่างของการโยงไดนามิก

4.

ประเภทของวิธีการ

วิธีการและตัวแปรแบบไพรเวต ขั้นสุดท้ายและแบบสแตติกใช้การโยงแบบสแตติก

เมธอดเสมือนใช้การโยงไดนามิก

ตัวอย่างของ Static Binding และ Dynamic Binding

<ก่อน> FastFood คลาสสาธารณะ { สร้างโมฆะสาธารณะ () { System.out.println ("การสร้างในคลาส FastFood"); }} พิซซ่าคลาสสาธารณะขยาย FastFood { สร้างโมฆะสาธารณะ () { System.out.println ("การสร้างในคลาสพิซซ่า"); }} คลาสสาธารณะหลัก { โมฆะคงที่สาธารณะ main (สตริง [] args) { FastFood fastFood =FastFood ใหม่ (); fastFood.create(); //การเชื่อมโยงไดนามิก FastFood pza=พิซซ่าใหม่ (); pza.create(); }}