Я получил эту ошибку "оператор + не может быть применен к java.lang.string void" - PullRequest
0 голосов
/ 28 октября 2019

Я пытался вызвать метод в println из суперкласса, используя объект, который я создал для суперкласса. Я получил эту ошибку

"оператор + не может быть применен к java.lang.string void"

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

Ответы [ 3 ]

2 голосов
/ 28 октября 2019

Замените следующую строку

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

на

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

Причина этого в том, что тип возврата objsuper.showij() равен void и, следовательно, operator + не можетбыть примененным к этому. Метод void подобен выполнению чего-либо, но не возвращает значения, и, поскольку оно не возвращает никакого значения, вы не можете добавить его к чему-либо, используя оператор +;Вы должны называть это отдельно, как я делал выше.

1 голос
/ 28 октября 2019

Если вы посмотрите на метод objsuper.showij(), вы поймете, что он ничего не возвращает void

Это не может быть добавлено к чему-то

0 голосов
/ 28 октября 2019

В Syso '+' - это способ конкатенации строковых литералов. Вы можете использовать строку или объекты с методом toString (). Так как void fuction ничего не возвращает, вы не можете использовать это в System.out.println

...