우리가 인터페이스에 정적 메서드를 정의하지 못할 이유는 followoing 코드구현합니다 방법은
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()
을 구현할 수없는 이유는 무엇입니까? - Object를 참조하여 myMethod를 호출 할 때 컴파일 오류가 발생합니다. 내가 이해했듯이 컴파일러는 자동으로 캐스팅하지 않는다.
다음 코드 우리가이 경우에
Number
로 캐스팅 할 때하고있는 어떤 컴파일러Object someObj; ... Number n= (Number) someObj;
을 고려?
[인터페이스 메소드를 공개로 선언해야하는 이유] (http://stackoverflow.com/questions/9614708/why-should-we-declare-interface-methods-as-public) – Smit
@ 다른 주제를 전달하십시오. 이 질문과 관련이 없습니다. –
몇 가지 질문을하고 있습니다. 각 질문은 별도로 질문해야합니다. 첫 번째는 [인터페이스에서 정적 메서드를 선언 할 수없는 이유는 무엇입니까?] (http://stackoverflow.com/q/21817/1281433). –