次のコードを検討してください
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){...}
}
- インターフェイスで静的メソッドを定義できないのはなぜですか?
method()
static修飾子で実装できないのはなぜですか?- Object を参照して myMethod を呼び出すと、コンパイル エラーが発生します。私が理解しているように、コンパイラは自動的にキャストしませんよね?
次のコードを検討してください
Object someObj; ... Number n= (Number) someObj;
Number
この場合、キャストするときにコンパイラは何をしているでしょうか?