我想要一个基类和几个扩展它的类.
然后我想要一个可以是两个扩展类中的任何一个的数组.
我希望做这样的事情:
class Base{ }
class A extends Base {}
class B extends Base {}
Run Code Online (Sandbox Code Playgroud)
然后我想要一个可以是A或B的数组,所以我在数组声明中使用Base
Base[] it = Base[2];
it[0] = new A();
it[1] = new B();
Run Code Online (Sandbox Code Playgroud)
我不确定我是否正确这样做或者是否允许这样做.
谢谢
您缺少new关键字:
Base[] it = new Base[2];
Run Code Online (Sandbox Code Playgroud)
除此之外 - 方法很好.型的阵列Base[]可容纳类型的对象A和B,因为它们本身延伸的类型Base.
例:
static public class Base {
public void foo() {
System.out.println("I am base");
}
}
static public class A extends Base {
@Override
public void foo() {
System.out.println("I am A");
}
}
static public class B extends Base {
@Override
public void foo() {
System.out.println("I am B");
}
}
public static void main(String[] args) {
Base[] arr = new Base[2];
arr[0] = new A();
arr[1] = new B();
arr[0].foo();
arr[1].foo();
}
Run Code Online (Sandbox Code Playgroud)
将如预期的那样打印:
I am A
I am B
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
737 次 |
| 最近记录: |