//多态2
//通过父类引用只能访问子类从父类继承过来的属性和方法,不能访问子类特有的方法
//父类引用永远不能直接赋给子类引用
//只有当父类引用指向子类的对象的时候,才能用强制转换的方法,赋给子类引用
class A
{
public void f()
{
System.out.printf("AAAAA\n");
}
}
class B extends A
{
public void f()
{
System.out.printf("BBBBB\n");
}
public void g()
{
System.out.printf("GGGGG\n");
}
}
class test
{
public static void main(String[] args)
{
A aa = new A();
B bb = new B();
aa = bb; //只有当父类引用aa指向子类对象的时候,才能在下面这条语句(B)aa强制转换父类引用赋给子类
aa.g(); //父类不能引用子类特有的方法
bb = (B)aa;
aa.f();
bb.f();
}
}
//通过父类引用只能访问子类从父类继承过来的属性和方法,不能访问子类特有的方法
//父类引用永远不能直接赋给子类引用
//只有当父类引用指向子类的对象的时候,才能用强制转换的方法,赋给子类引用
class A
{
public void f()
{
System.out.printf("AAAAA\n");
}
}
class B extends A
{
public void f()
{
System.out.printf("BBBBB\n");
}
public void g()
{
System.out.printf("GGGGG\n");
}
}
class test
{
public static void main(String[] args)
{
A aa = new A();
B bb = new B();
aa = bb; //只有当父类引用aa指向子类对象的时候,才能在下面这条语句(B)aa强制转换父类引用赋给子类
aa.g(); //父类不能引用子类特有的方法
bb = (B)aa;
aa.f();
bb.f();
}
}