public class Solution {
public static void main(String[] s) {
A a = new C();
a.method2();
// a= new A();
// a.method2();
}
public static class A {
private void method1() {
System.out.println("A class, method1");
}
public void method2() {
System.out.println("A class, method2");
method1();
}
}
public static class B extends A {
public void method1() {
super.method2();
System.out.println("B class, method1");
}
public void method2() {
System.out.println("B class, method2");
}
}
public static class C extends B {
public void method1() {
//super.method1();
System.out.println("C class, method1");
}
public void method2() {
System.out.println("C class, method2");
super.method1(); // Тут почемуто светит красным , но программа работает(компилируется) и вали принял.
}
}
}Арсен
33 уровень
Немного не понятно, Idea подсвечивает красным (т.е ошибка какаято) но все компилируется и работает.
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Серёжа
3 октября 2020, 14:21
такая же хрень![]()
0
--------Master
13 марта 2019, 07:33
Если мышь навести на подсвеченное, можно прочитать, что не нравится - "ambiguous method call", что-то типа "неоднозначного вызова метода": почему-то считает, что тут подходит method1 и из А, и из В, хотя в А он приватный и в В объявлен собственный, а не наследуется
0
АрсенJava Developer в Samgau
13 марта 2019, 08:38
Хм, глюки Идеи? Просто впервые такое,что светит красным и все работает, обычно и не запустится ведь. Или все же возможен запуск с ошибками?
0
--------Master
13 марта 2019, 08:42решение
Так это же она пытается "предусмотреть" еще на этапе редактирования, а при компиляции этой ошибки не возникает
+5