package study;
//多态性的向上转类型:子类->父类
class A{
public void fun1() {
System.out.println("父类的fun1方法");
}
public void fun2() {
System.out.println("父类的fun2方法");
}
}
class B extends A{
public void fun1() {
System.out.println("子类的fun1方法");
}
public void fun3() {
System.out.println("子类的fun3方法");
}
}
public class exercise {
public static void main(String[] args) {
A a=new A();
a.fun1();
B b=new B();
b.fun1();
a=b;
a.fun1();//通过其子类向上转型进行父类对象操作的,因调用的fun1()方法被子类覆写过,则fun1()调用被覆写过的方法
//虽然说是向上转,操作的仍然是父类,是无法调用子类新建的方法的,则fun3()无法通过a来调用
System.out.println("********");
A c=new B();
c.fun1();
c.fun2();
}
}
14.1多态向上转
最新推荐文章于 2022-04-04 11:21:30 发布