多态
一、多态的定义
父类或接口的引用变量可以指向子类或者具体实现类的实例对象,而程序调用的方法在运行期才动态绑定。
继承:
父类名称 对象名 = new 子类名称();
接口:
接口名称 对象名 = new 实现类名称();
二、多态的要点
- 使用多态调用成员变量,调用的是父类的成员变量;
public class Fu {
int num = 10;
}
public class Zi extends Fu{
int num = 20;
}
public static void main(String[] args) {
Fu obj = new Zi();
//调用成员变量
System.out.println("成员变量=" + obj.num);
}
- 调用方法时,子类未重写则调用父类的方法,子类已重写则调用子类的方法;
public class Fu {
int num = 10;
public void shouNum(){
System.out.println("父类的num=" + num);
}
}
public class Zi extends Fu{
int num = 20;
int sum = 30;
public void shouNum(){
System.out.println("子类的num=" + num);
}
}
public static void main(String[] args) {
Fu obj = new Zi();
//调用成员变量
System.out.println(obj.num);
//调用方法
obj.shouNum();
}
4. 总结:编译看左边,调用的方法或变量父类没有而子类有,调用会出错。运行看右边,调用的方法看等号右边;