Я видел несколько мест, где «Class.getClassLoader () возвращает ClassLoader, использованный для загрузки этого конкретного класса», и поэтому я озадачен результатами следующего примера:
package test;
import java.lang.*;
public class ClassLoaders {
public static void main(String[] args) throws java.lang.ClassNotFoundException{
MyClassLoader mcl = new MyClassLoader();
Class clazz = mcl.loadClass("test.FooBar");
System.out.println(clazz.getClassLoader() == mcl); // prints false
System.out.println(clazz.getClassLoader()); // prints e.g. sun.misc.Launcher$AppClassLoader@553f5d07
}
}
class FooBar { }
class MyClassLoader extends ClassLoader { }
Не должен ли оператор clazz.getClassLoader () == mcl вернуть true? Может кто-нибудь объяснить, что мне здесь не хватает?
Спасибо.