如何创建对类的引用数组,并将其他几个对象的引用值存储在数组中?

时间:2013-10-15 22:43:59

标签: java arrays class reference abstract-class

例如,我有这些类的代码。如何创建对类的引用数组,并存储其他几个对象(如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();

2 个答案:

答案 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以了解超类和子类关系。