interface MyInterface{
void method(String s);// if we write static modifier we have compile error
}
class MyClass implements MyInterface{
public static void main(String[] args){
myMethod(new Object());//Compile error
}
static void method(String s){...}// compile error
static void myMethod(Number n){...}
}
Почему мы не можем определить статический метод в интерфейсе?
Почему мы не можем реализовать метод() со статическим модификатором?
Когда мы вызываем myMethod со ссылкой на Object, мы получаем ошибку компиляции. Насколько я понял, компилятор не выполняет автоматическое приведение типов, не так ли?
[code]interface MyInterface{ void method(String s);// if we write static modifier we have compile error } class MyClass implements MyInterface{ public static void main(String[] args){ myMethod(new Object());//Compile error } static void method(String s){...}// compile error static void myMethod(Number n){...}
} [/code]
[list] [*]Почему мы не можем определить статический метод в интерфейсе? [*]Почему мы не можем реализовать метод() со статическим модификатором? [*]Когда мы вызываем myMethod со ссылкой на Object, мы получаем ошибку компиляции. Насколько я понял, компилятор не выполняет автоматическое приведение типов, не так ли? [*]Рассмотрим следующий код
[code]Object someObj; ... Number n= (Number) someObj;[/code] [/list]
Что в этом случае делает компилятор, когда мы приводим к Number? п>