Я не могу понять, почему компилятор выдает ошибку при попытке скомпилировать этот код:Является ли Java предотвращением переопределения статических методов?
class A
{
public static void f()
{
System.out.println("A.f()");
}
}
class B extends A
{
public static int f()
{
System.out.println("B.f()");
return 0;
}
}
Почтение между двумя methodes в A и B классов является тип возвращаемого значения, я прочитал, что Java предотвратить переопределение статические методы. Так что я ожидаю, что компилятор не должен показывать никаких ошибок, потому что изначально не происходит переопределение!
Это не переопределяет проверку правил переопределения .... first f method возвращает void() второй метод f возвращает int – Naren
Да, но компилятор говорит, что есть ошибка ??! – BBeta