利用多态,使用的对象调用方法的几点总结:
- 调用自身方法
- 调用父类方法
- 调用覆盖方法
public class Var {
public Var() {
super();
}
public void var_print0(){
System.out.println("父类方法0");
}
public void var_print1(){
System.out.println("父类方法1");
}
}
public class Var_child extends Var{
public void child_print(){
System.out.println("子类方法!");
}
public void var_print1(){
System.out.println("覆盖方法1");
}
public static void main(String[] args) {
Var v=new Var_child();
v.child_print();
}
}
以上程序无法通过编译,eclipse直接报错!
说明:父类变量指向子类对象,导致变量无法调用子类独有的公共方法;
public static void main(String[] args) {
Var v=new Var_child();
v.var_print0();
}
输出结果: 父类方法0
说明:变量可以调用父类的公共方法;
public static void main(String[] args) {
Var v=new Var_child();
v.var_print1();
}
输出结果: 覆盖方法1
说明:如果父类和子类同时有一种方法,子类重写了这个方法,那么变量会调用子类的方法。
未完待续