Java的多态性:子类指向父类的引用。
举个例子
public class TestMain {
public static void main(String[] args) {
Water w = new Flood();
w.Form();
}
}
class Water{
public void Form(){
System.out.println("水的形态");
}
}
class Flood extends Water{
public void Form() {
System.out.println("狂暴的");
}
public void Size() {
System.out.println("巨大的");
}
}
class Brook extends Water {
public void Form() {
System.out.println("温和的");
}
}
在这个例子中使用了Java的多态性,在实例化操作时,子类指向了父类。在使用Java的多态性时,不能调用除了父类方法之外的属性或者方法。也就是说,多态的使用只能是,调用子类中重写了父类的方法,其余的无法调用。父类中的方法称为虚拟方法。调用方法时,编译看左,运行看右。
早绑定:在方法调用之前就已经确定了所要绑定的是哪个方法的是早绑定。比如:重载
晚绑定:在方法调用的那一刻,解释运行器才确定所要调用的方法的叫晚绑定。比如:多态