Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建一个类的引用数组,并在数组中存储对其他几个对象的值的引用?_Java_Arrays_Class_Reference_Abstract Class - Fatal编程技术网

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

Java 如何创建一个类的引用数组,并在数组中存储对其他几个对象的值的引用?,java,arrays,class,reference,abstract-class,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(){

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

Test1 [] arrayOfReferences = new Test1[10];

这可以存储类型为
Test1
的10个引用,您可以使用
抽象类Test1
的所有具体实现来填充数组,比如
newtest2()

没有什么可以阻止您使用
ArrayList


学习如何理解超类和子类之间的关系。

哦,就这么简单。谢谢我以为数组只能保存变量,我不认为它会这么简单。没问题。除此之外,您可能对阅读java中的运行时多态性感兴趣。谢谢,我将尝试使用数组列表。我已经知道了继承和超类是什么。不管怎样,谢谢。那就好了。很抱歉;)
List<Test1> myArr = new ArrayList<>();
myArr.add(new Test2());
myArr.get(0);
 Test1 a1[] = new Test2[10];
   a1[0] = new Test2();