我犯了这个错误;操作员+;无法应用于java.lang.string void“;

我犯了这个错误;操作员+;无法应用于java.lang.string void“;,java,inheritance,java.lang,Java,Inheritance,Java.lang,我试图使用为超类创建的对象从超类调用println中的方法。我犯了这个错误 “运算符+不能应用于java.lang.string void” 如果查看方法objsuper.showij(),您会发现它不返回任何内容void 这不能附加到Syso中的某个东西上,“+”是字符串文字连接的一种方式。您可以将字符串或对象与toString()方法一起使用。由于void函数不返回任何内容,因此不能在System.out.println中使用它替换以下行 System.out.println("Conten

我试图使用为超类创建的对象从超类调用
println
中的方法。我犯了这个错误

“运算符+不能应用于java.lang.string void”


如果查看方法
objsuper.showij()
,您会发现它不返回任何内容
void


这不能附加到Syso中的某个东西上,“+”是字符串文字连接的一种方式。您可以将字符串或对象与toString()方法一起使用。由于void函数不返回任何内容,因此不能在System.out.println中使用它

替换以下行

System.out.println("Contents of objsuper: " + objsuper.showij());

原因是,
objsuper.showij()
的返回类型是
void
,因此,
operator+
不能应用于它。
void
方法类似于做某事但不返回值,因为它没有返回值,所以不能使用
+
运算符将其附加到任何内容;你需要像我上面那样单独调用它。

你的
showij()
方法的返回类型是
void
。这意味着它不会返回任何结果。因此,不可能将结果添加到字符串中以打印它-没有结果。
System.out.println("Contents of objsuper: " + objsuper.showij());
System.out.println("Contents of objsuper: ");
objsuper.showij();