class A { }
class B extends A { }
在 main 中
A a = new B(); 是可以的 1
但是
A[] a = new B[2] ----> 这里的 a 是 A 类型,但是里面的元素实际上是 B 类型??
a[0] = new A () ---> 按照 1中,这里的 a[0] 应该是 A 类型,但是实际上却是 B 类型。
a[1] = new B();
在 1里,一个 A 类型的 a,实际内部是 B 类型?
所以 A[] a 是一个 A 类型的数组,但里面都是 B 类型的元素?
所以 a[0] 是 B 类型?
这里我就不理解了
求解答
class B extends A { }
在 main 中
A a = new B(); 是可以的 1
但是
A[] a = new B[2] ----> 这里的 a 是 A 类型,但是里面的元素实际上是 B 类型??
a[0] = new A () ---> 按照 1中,这里的 a[0] 应该是 A 类型,但是实际上却是 B 类型。
a[1] = new B();
在 1里,一个 A 类型的 a,实际内部是 B 类型?
所以 A[] a 是一个 A 类型的数组,但里面都是 B 类型的元素?
所以 a[0] 是 B 类型?
这里我就不理解了
求解答
