0

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

2 回答 2

1

这个怎么样: -

Test1 [] arrayOfReferences = new Test1[10];

这可以存储 10 个类型的引用,您可以使用类似Test1的所有具体实现来填充数组abstract class Test1new Test2()

于 2013-10-15T22:48:30.047 回答
1

没有什么可以阻止您使用ArrayList<Test1>.

List<Test1> myArr = new ArrayList<>();
myArr.add(new Test2());
myArr.get(0);

或者,

 Test1 a1[] = new Test2[10];
   a1[0] = new Test2();

了解继承以了解超类和子类的关系。

于 2013-10-15T22:49:53.583 回答