Множественное наследование 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) Что я делаю не так?
Ошибка возникает из-за того, что в 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.
Ошибка возникает из-за того, что в 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.