doBlah
메서드를 구현하는 클래스 A
이 있습니다. 서브 클래스가 A
인 B
클래스가 있고 @Override
메소드 doBlah
이 있습니다. B.doBlah
에서 간단한 조작을 수행 한 후 A.doBlah
으로 전화합니다.메서드 내부 동작 무시
A.doBlah
은 정적 메서드 C.aStaticMethod
을 호출합니다.
A 및 C는 수정할 수없는 외부 라이브러리의 일부입니다.
C.aStaticMethod
대신 A.doBlah
이라는 정적 메서드 CC.aStaticMethod
이 필요합니다. 가능한 모든 디자인 패턴/해킹을 사용합니까?
[편집] 나는 A
의 출처를 가지고 있으며, 필자는이 파일을 내 코드에 포함시키고 필요할 경우 수정하는 등의 작업을 할 수 있습니다. 그러나 나는 A
패키지를 이와 같이 수정할 수 없습니다.
@greedybuddha 어떤 수업입니까? –
@greedybuddha : 이들은 * static * 메소드입니다. 그래서, 그게 효과가 없을 것입니다. 'A.doBlah'가'C.aStaticMethod'를 호출하도록 컴파일 되었다면 아무것도 변경되지 않습니다. –
@sircapsalot 그래서 그는 기본적으로 클래스 A를 다시 작성하라고 제안하고 있습니까? –