Đúng. Nó hoạt động cho tất cả các lớp trừ các lớp được tải bởi trình nạp lớp bootstrap. Cách khác để xác định là:
Class klass = String.class;
URL location = klass.getResource('/' + klass.getName().replace('.', '/') + ".class");
Như notnoop đã chỉ ra klass.getResource()
phương thức trả về vị trí của tệp lớp. Ví dụ:
jar:file:/jdk/jre/lib/rt.jar!/java/lang/String.class
file:/projects/classes/pkg/MyClass$1.class
Các getProtectionDomain().getCodeSource().getLocation()
phương thức trả về vị trí của file jar hoặc CLASSPATH
file:/Users/home/java/libs/ejb3-persistence-1.0.2.GA.jar
file:/projects/classes
java -findjar -cp /some/path/with/libs/*.jar my.java.Class
->my.jar
.