Множественное наследование java, что я делаю не так? Прежде всего я создаю "топовый класс".public class TOP {
public TOP() {
System.out.println ("TOP");
}
}
От него идет две ветки, левая и правая.public class LEFT {
public LEFT (){
super ();
System.out.println("LEFT");
}
}
иpublic class RIGHT {
public RIGHT (){
super ();
System.out.println("RIGHT");
}
}
Далее ищет общий класс, который наследуется элементы левого и правого класса.public class CommonClass extends RIGHT, LEFT {

public static void main (String [] ags){
new RIGHT ();
new LEFT ();
}
}
Выдает следующую ошибку:Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error on token "]", :: expected after this token
Syntax error, insert "SimpleName" to complete Type
at CommonClass.main(CommonClass.java:4)
Что я делаю не так?

21 Авг 2019 в 07:01
228 +1
0
Ответы
1

Ошибка возникает из-за того, что в Java множественное наследование классов напрямую не поддерживается. Вы должны использовать интерфейсы для реализации множественного наследования.

В вашем случае, вы можете изменить классы LEFT и RIGHT на интерфейсы, а класс CommonClass должен реализовать эти интерфейсы.

Пример:

public interface Left {
public void leftMethod();
}
public interface Right {
public void rightMethod();
}
public class CommonClass implements Left, Right {
public CommonClass() {
System.out.println("CommonClass");
}
@Override
public void leftMethod() {
System.out.println("Left method");
}
@Override
public void rightMethod() {
System.out.println("Right method");
}
public static void main(String[] args) {
CommonClass commonClass = new CommonClass();
commonClass.leftMethod();
commonClass.rightMethod();
}
}

Таким образом, вы можете использовать интерфейсы для имитации множественного наследования в Java.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир