1. 什么是多态?
一个父类的引用类型变量它既可以指向父类对象也可以指向子类对象,它可以根据当前时刻指向的不同,自动调用不同对象的方法,这就是多态。
2. 例子
a. 创建一个A类
class A{
public void fun()
{
System.out.println("AAAA");
}
}
b. 创建一个B类
class B extends A{
public void fun(){
System.out.println("BBBB");
}
}
c. 创建一个主类
public class test {
public static void main(String args[]){
A aa = new A();
B bb = new B();
aa.fun();
bb.fun();
aa = bb; //子类可以赋值给父类
//bb = aa; 父类不可以赋值给子类
aa.fun(); //如果把子类的引用赋值给父类的引用,通过父类引用调用fun函数,就变成了调用子类的fun函数
}
}
其中,值得注意的 有:
1, 子类可以赋值给父类
2, 父类不可以赋值给子类
3, 如果把子类的引用赋值给父类的引用,通过父类引用调用fun函数,就变成了调用子类的fun函数