代码如下:
public class Test{
public static void main(String str[]){
B b = new B();
A a1 = (A)b;//Explicit type conversion
A a2 = b;
}
}
class A{}
class B extends A{}
在上面的代码中有两行:
A a1 = (A)b;//Explicit type conversion
A a2 = b;
等价?如果不是,那么两者之间的区别是什么,如果是,那么在Java中是否存在需要将子类对象显式转换为超类对象的任何情况?