2011-03-31 3 views

답변

4

수입은 단순히 자바 개발자는 그것이 자격을 갖춘 이름이 완전히입니다보다는 간단한 이름 (Date)의 사용하여 클래스를 참조 할 수있는 편리한 메커니즘 있음을 알아 두셔야합니다.

.classthrough a decompiler 파일을 실행하면 FQN을 사용하는 참조와 가능하지 않은 가져 오기 문이 표시 될 가능성이 높습니다.

0

글쎄, 난 당신이 프로그램이 정보를 원하는 경우 반사 길을 갈 필요가, 당신은 그런

그렇지 않으면 JD GUI로 디 컴파일러를 살펴 보시기 바랍니다. (- java.util.Date 또는 java.sql.Date FQN)

0

일괄 처리가 필요하고 디 컴파일러가 제공하는 다른 모든 세부 사항을 신경 쓰지 않으려면 클래스 참조 용 상수 풀을 검사 할 수 있습니다.

이전에 언급했듯이 소스 가져 오기는 단지 편리하고 클래스 파일의 어떤 것에도 직접적으로 대응하지 않습니다. 상수 풀을 검색하면 이 아닌은 소스 파일에서 사용하지 않은 가져 오기를 표시하며, 이 아닌은 컴파일 타임 상수 (public static final String ... 등)에만 사용됩니다. 은 동일한 패키지의 클래스에 대해서도 FQN을 표시하며, 입니다. 가져 오기없이 FQN을 사용하여 클래스를 표시합니다. 그것은 누구의 서명을 암시 적으로 사용되는 것이다 쇼 클래스 :

URL loc = Something.class.getProtectionDomain().getCodeSource().getLocation(); 

소스가 명시 적으로 언급하지 않았다하더라도 바이트 코드에 ProtectionDomainCodeSource에 대한 참조를 생성합니다.

https://hg.netbeans.org/core-main/raw-file/default/nbbuild/antsrc/org/netbeans/nbbuild/VerifyClassLinkage.java은이 스캔을 수행하는 방법의 예입니다 (dependencies 참조).

관련 문제