2013-10-24 4 views
0

내 Java 하위 클래스에서 수퍼 클래스의 메서드를 재정의하고 수퍼 클래스에서 재정의 된 메서드를 호출하려고합니다. 이것이 올바른 방법일까요? 내가라고 설정을 무시하려는 슈퍼 클래스의 방법은()Java에서 메서드를 재정의하고 수퍼 클래스 메서드를 호출하는 방법

public static void describe() 
    { 
     Item.describe(); 



    } 
+4

'static' 메소드가 상속되지 않습니다. –

+0

@SotiriosDelimanolis 잘 잡습니다. – Radiodef

답변

3

사용 super 키워드에 대해 설명합니다.

@Override 
public void describe() { 
    super.describe(); 
} 

주석이 필요하지는 않지만 "정확함"에 유의하십시오.

지적했듯이 정적 메서드는 상속되지 않습니다. 리플렉션을 사용하여 정적 메서드로 다형성 동작을 모방하는 것은 가능하지만 초보자에게는 권장하지 않습니다. 그것은 당신이 할 수있는 것입니다. 서브 클래스에서 동일한 정적 메소드 서명을 작성하고 수퍼 클래스 참조에서 Method.invoke()을 사용할 수 있으며 기능적으로는 정적 메소드를 대체하는 것과 동일합니다.

관련 문제