gpt4 book ai didi

java - 基类扩展和数组

转载 作者:行者123 更新时间:2023-11-29 07:12:44 26 4
gpt4 key购买 nike

我想要一个基类和几个扩展它的类。

然后我想要一个数组,它可以是两个扩展类中的任何一个。

我希望做这样的事情:

class Base{  }
class A extends Base {}
class B extends Base {}

然后我想要一个可以是 A 或 B 的数组,所以我在数组声明中使用 Base

Base[] it = Base[2];

it[0] = new A();
it[1] = new B();

我不确定我这样做是否正确或是否允许。

谢谢

最佳答案

您缺少 new 关键字:

Base[] it = new Base[2];

除此之外 - 这种方法很好。 Base[] 类型的数组可以容纳 AB 类型的对象,因为它们本身扩展了类型 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();
}

打印结果如预期:

I am A
I am B

关于java - 基类扩展和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com