將方法調用連接到方法體稱為綁定。
在java中有兩種類型的綁定:
下面讓我們來了解實例的類型。
每個變量都有一個類型,它可能是原始的和非原始的。
int data=30;
這里的數(shù)據(jù)變量是一個int類型。
class Dog {
public static void main(String args[]) {
Dog d1;// Here d1 is a type of Dog
}
}
對象是特定的java類的實例,但它也是其超類的實例。
class Animal {
}
class Dog extends Animal {
public static void main(String args[]) {
Dog d1 = new Dog();
}
}
這里d1是Dog類的一個實例,但它也是Animal的一個實例。
當編譯時(由編譯器)確定對象的類型時,它被稱為靜態(tài)綁定。如果在類中有任何private,final或static方法,則有靜態(tài)綁定。
靜態(tài)綁定的示例
class Dog {
private void eat() {
System.out.println("dog is eating...");
}
public static void main(String args[]) {
Dog d1 = new Dog();
d1.eat();
}
}
當在運行時確定對象的類型時,它被稱為動態(tài)綁定。
動態(tài)綁定的示例
class Animal {
void eat() {
System.out.println("animal is eating...");
}
}
class Dog extends Animal {
void eat() {
System.out.println("dog is eating...");
}
public static void main(String args[]) {
Animal a = new Dog();
a.eat();
}
}
執(zhí)行上面示例代碼輸出結果如下 -
dog is eating...
在上面的例子中,對象類型不能由編譯器決定,因為Dog的實例也是Animal的一個實例。編譯器不知道它的類型,只知道它的基類型。