Java 使用来自两个类的重写方法

Java 使用来自两个类的重写方法,java,arrays,methods,arraylist,tostring,Java,Arrays,Methods,Arraylist,Tostring,我有两个toString(),只需调用其中一个即可打印这两个。 我必须让class1的对象作为数组,class2的对象作为ArrayList 主要内容: 类别2: @Override public String toString() { return getMethod3() + getMethod4(); } 这不管用。可能是因为我创建不同对象的方式吗?在创建class1实例时,应该添加对class2的引用 for(int i=0; i<class1.length; i++){

我有两个toString(),只需调用其中一个即可打印这两个。 我必须让class1的对象作为数组,class2的对象作为ArrayList

主要内容:

类别2:

@Override
public String toString() {
    return getMethod3() + getMethod4();
}

这不管用。可能是因为我创建不同对象的方式吗?

在创建class1实例时,应该添加对class2的引用

for(int i=0; i<class1.length; i++){
    class1[i] = getClass1Obj();
    Class2 class2 = getClass2Obj();
    class1[i].setClass2(class2);
    class2List.add(class2);   
} 

这样,class1将有一个对class2的引用,并且可以使用class2 toString

以什么方式不起作用?当我只打印class1中的toString时,它就起作用了。您得到了什么错误?也许class2是空的。我看不出你在哪里设置class2(class2);我得到了一个NullPointerExection。鉴于您在此处发布的代码,无法诊断您的问题。请添加更多相关代码,例如
printClass1
的主体以及所有
getMethod#()
getObject#()
。谢谢!这真的很有帮助!
@Override
public String toString() {
    return getMethod3() + getMethod4();
}
for(int i=0; i<class1.length; i++){
    class1[i] = getClass1Obj();
    Class2 class2 = getClass2Obj();
    class1[i].setClass2(class2);
    class2List.add(class2);   
} 
public setClass2(Class2 class2) { this.class2 = class2; }