나는 클래스 B_A
및 D_CA
기본 클래스 A
에서 방법 do()
을 사용하는 것입니다 싶습니다하지만 나는 그것을 무시하고 다른 do()
을 구현하기 위해 E_CA
클래스가 필요합니다.
어떻게하면됩니까?
감사합니다.
나는 클래스 B_A
및 D_CA
기본 클래스 A
에서 방법 do()
을 사용하는 것입니다 싶습니다하지만 나는 그것을 무시하고 다른 do()
을 구현하기 위해 E_CA
클래스가 필요합니다.
어떻게하면됩니까?
감사합니다.
메서드를 class E_CA
으로 간단하게 재정의 할 수 있습니다.
E_CA
의 구현을 사용하여 E_CA
에서 상속 한 모든 클래스로 연결됩니다 (다시 재정의되지 않는 한). 다른 모든 클래스는 시간 내 주셔서 모두들 감사 A
class E_CA extends CA {
@Override
public void do() {
// new implementation
}
}
에 do()
의 구현을 사용합니다. 하위 클래스에서 @override를 사용해야한다는 것을 알고있었습니다. 그러나 나는 실수를했고 그것은 나를 미치게 만들었다. 문제는 기본 클래스 메서드가 private로 정의되어 있고 손자 방법이 보호되어 있다는 것이 었습니다. 따라서 하위 클래스 메서드에서 "소리 쳤다". 두 가지 구현을 으로 변경하면이 내 문제를 해결했습니다. 다시 한번 감사드립니다.
무엇을 시도 했습니까? 문제가있는 곳은 어디입니까? – UnholySheep
[하위 클래스의 메서드를 재정의하려면 어떻게합니까?] (http://stackoverflow.com/questions/5215612/how-do-i-override-a-method-in-a-subclass) – Tom
무엇입니까? class CA –