java为什么子类可以转换成父类?
classA{publicvoidfun1(){System.out.println("a---fun1");}publicvoidfun2(){System.out.p...
class A
{
public void fun1()
{
System.out.println(" a ---fun1");
}
public void fun2()
{
System.out.println(" a ---fun2");
}
}
class B extends A
{
public void fun3()
{
System.out.println(" b ---fun3");
}
}
class C
{
public static void main(String [] args)
{
call(new B());
}
public static void call(A a)
{
B b = (B)a;
b.fun1();
b.fun2();
b.fun3();
}
}
看了张孝祥的视频,这段代码我不明白。
在main方法中只有一个call(new B()); 创建一个B的实例,然后传递到形参 A a中去。我想问问这样能转换么?及子类转换成父类,那么子类中独有的方法和属性岂不是丢失了?? 展开
{
public void fun1()
{
System.out.println(" a ---fun1");
}
public void fun2()
{
System.out.println(" a ---fun2");
}
}
class B extends A
{
public void fun3()
{
System.out.println(" b ---fun3");
}
}
class C
{
public static void main(String [] args)
{
call(new B());
}
public static void call(A a)
{
B b = (B)a;
b.fun1();
b.fun2();
b.fun3();
}
}
看了张孝祥的视频,这段代码我不明白。
在main方法中只有一个call(new B()); 创建一个B的实例,然后传递到形参 A a中去。我想问问这样能转换么?及子类转换成父类,那么子类中独有的方法和属性岂不是丢失了?? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询