例如,我有这些类的代码。如何创建对类的引用数组,并存储其他几个对象(如a1或a2)的引用值(如果已创建)?
public abstract class Test1 {
// Instance field vars
public Test(){
//initializations
}
public void method1(){
//do's
}
@override
public String toString(){
return (string content)
}
}
然后我有另一个类似的课程
public class Test2 extends Test1 {
// Instance field vars
public Test2(){
//initializations
}
public void method2(){
//do's
super.method1();
}
@override
public String toString(){
return super.toString+(string content)
}
}
然后,我的主要是这样的
Test1 a1 = new Test2()
System.out.println(a1.toString());
a1.method1();
答案 0 :(得分:1)
这个怎么样: -
Test1 [] arrayOfReferences = new Test1[10];
这可以存储类型为Test1
的10个引用,您可以使用abstract class Test1
的所有具体实现填充数组,如new Test2()
答案 1 :(得分:1)
没有什么可以阻止你使用ArrayList<Test1>
。
List<Test1> myArr = new ArrayList<>();
myArr.add(new Test2());
myArr.get(0);
或者,
Test1 a1[] = new Test2[10];
a1[0] = new Test2();
了解inheritance以了解超类和子类关系。