以下のコードを検討してください。
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{}
上記のコードには次の 2 行があります。
A a1 = (A)b;//Explicit type conversion
A a2 = b;
同等?そうでない場合は、2 つの違いは何ですか。そうである場合、サブクラス オブジェクトを明示的にスーパー クラス オブジェクトに変換する必要があるJava のシナリオはありますか?