내 프로젝트를 사용하는 별도의 프로젝트에서 외부 클래스에서 구현해야하는 클래스의 추상 메소드가 있습니다.(Java) 리플렉션을 통해 생성 된 새 객체에 대한 메소드를 생성 하시겠습니까?
- instanceof를 모든 클래스가 처음에 반사하여 생성된다 - 어쨌든
를, 클래스 A는 추상적이라고하고, (비 추상) 클래스 B는
B를 확장하는 모든 구현되지 않은 메소드가 B가 내 작업 공간에 있기 때문에 클래스 A에 있습니다. 따라서이 메소드를 추가하는 것이 좋습니다.
C도 A를 확장하지만 C는 A에서 추상 메서드의 하위 집합 만 갖습니다. 그러나 C는 내 작업 영역에 없습니다.
public <corresponding return type> <missingMethodName>() { return null; }
이 가능
(각 방법의 경우) :
따라서, NOT A에서 C의 각 추상 메소드, 난과 같이 A의 방법을 추가 할 수있는 방법을 찾을 필요 ?
P. 내가 제어 할 수없는 객체와 동기화되도록 코드를 완전히 다시 작성해야하거나 위에서 언급 한 것과 같은 솔루션을 구현해야한다고 가정하십시오.
은'A'는'A' 추상적이고,'C'는 모든 추상 메소드를 구현하지 않습니다? 또한,'super.()'호출은 어떻게 호출되는'super'가'A'인지, 구현이 없는지 어떻게 작동할까요? –
질문이 명확하지 않습니다. Reflection을 사용하면 클래스를로드하고 메소드를 호출 할 수 있습니다. 그러나 새로운 방법을 정의 할 수는 없습니다. 이를 수행하려면 바이트 코드 계측이 필요합니다. 또한, 어떤 작업 영역이이 작업과 관련이 있는지 알지 못합니다. 작업 영역은 IDE 작업입니다. Java 프로그램 실행과는 아무런 관련이 없습니다. –
젠장, 네가 맞아, 불가능 해. 클래스는 런타임 전에이를 구현해야합니다. 젠체하는 ... – Ryan