Java 如何从ArrayList中存储的方法返回toString方法

Java 如何从ArrayList中存储的方法返回toString方法,java,arraylist,tostring,Java,Arraylist,Tostring,我不熟悉java和面向对象编程,但我渴望更好地使用java并参与stackoverflow社区 我怀疑这个问题有一个简单的解决办法,但我在任何地方都找不到答案。 我在arraylist中存储了一系列书籍细节,每个细节都有不同的级别(例如,对于工程书籍,有一个额外的字符串“subject”,而对于标准书籍,只有3个变量)。 我想知道是否可以从ArrayList中存储的值中调用每个book类的toString方法? 或者,是否可以在ArrayList中存储来自每个不同book类方法的toString

我不熟悉java和面向对象编程,但我渴望更好地使用java并参与stackoverflow社区

我怀疑这个问题有一个简单的解决办法,但我在任何地方都找不到答案。 我在arraylist中存储了一系列书籍细节,每个细节都有不同的级别(例如,对于工程书籍,有一个额外的字符串“subject”,而对于标准书籍,只有3个变量)。 我想知道是否可以从ArrayList中存储的值中调用每个book类的toString方法? 或者,是否可以在ArrayList中存储来自每个不同book类方法的toString输出

这样,如果有工程教科书,它将显示数组列表中的所有细节,而编程教科书将显示较少的细节(如果字符串字段为空,则不保留“null”)

i、 e.arraylist将打印:

Textbook1:Java101/Dr Migoreng/1331/Java Textbook2:Python201/Dr Karl/112/Python Textbook3:Fluids101/Dr Brisbane/122/GIS/Modeling(额外字段)

等等

如果有人能提供一个关键字,哪怕是有帮助的,我都会非常感激

谢谢

代码如下:

构建ArrayList的TestCourseces类:

编程教科书类(如果可用,添加“语言”字段)
工程教科书课程(增加现场语言和科目)
抽象教科书类(定义作者、标题和页数)(由所有书籍共享)
Object.toString()
不接受任何参数。如果无法正确重写方法,请使用
@Override
注释捕获它

@Override
public String toString() {
    return title + "/" + author + "/" + pages + "/" + language;
}

@Override
public String toString() {
   return title + "/" + author + "/" + pages;
}   
等等。

对象。toString()
不接受任何参数。如果无法正确重写方法,请使用
@Override
注释捕获它

@Override
public String toString() {
    return title + "/" + author + "/" + pages + "/" + language;
}

@Override
public String toString() {
   return title + "/" + author + "/" + pages;
}   

等等。

哇!太简单了!太感谢了!我以后会看向我的toString方法添加参数。谢谢堆!哇!太简单了!太感谢了!我以后会看向我的toString方法添加参数。谢谢堆!
@Override
public String toString() {
    return title + "/" + author + "/" + pages + "/" + language;
}
@Override
public String toString() {
   return title + "/" + author + "/" + pages;
}