连接一个方法调用的方法体被称为绑定。
【Java静态绑定和动态绑定】有两种类型的绑定
- 静态绑定(也称为早期绑定)。
- 动态绑定(也称为后期绑定)。
让我们理解类型的实例。
1)变量类型每个变量都有一个类型,它可能是原始,销售。
int data=http://www.srcmini.com/30;
这里的数据变量是一个int类型。
2)引用类型
class Dog{
public static void main(String args[]){
Dog d1;
//Here d1 is a type of Dog
}
}
3)有一个类型的对象对象是特定java类的实例,但它也是其超类的实例。
class Animal{}class Dog extends Animal{
public static void main(String args[]){
Dog d1=new Dog();
}
}
这里d1是Dog类的一个实例,但它也是Animal的一个实例。
静态绑定
当对象的类型在编译时确定(由编译器),它被称为静态绑定。
如果有任何私人的,最终或静态方法在类,静态绑定。
静态绑定的例子
class Dog{
private void eat(){System.out.println("dog is eating...");
} public static void main(String args[]){
Dog d1=new Dog();
d1.eat();
}
}
动态绑定
当确定类型的对象在运行时,它被称为动态绑定。
动态绑定的例子
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();
}
}
Output:dog is eating...
在上面的例子中,编译器不能确定对象类型,因为Dog的实例也是Animal的实例。所以编译器不知道它的类型,只知道它的基类型。
推荐阅读
- Java instanceof操作符
- Java多态性
- Java实例初始化块
- Java final关键字
- Java协变返回类型
- Java super关键字
- 如何理解操作系统中的固定(或静态)分区()
- PHP编码标准是什么(详细介绍)
- 40个Python面试题和答案合集