看老师视频里讲抽象类ClassLoader里的loadClass方法和findClass方法,也就是类加载器的原理听听不是很懂。
好像子类并不先找,而是直接委托父类,父类再委托父类,一直到bootStrap,其实是bootStrap,最先开始找的;并不是子类自己先找,找不到再委托父类找
当自定义的类加载器如果是调用loadClass(className)方法会委托类父去找,如所有父都找不到,最终会退给发起者,也是说父类让子类调用findClass方法
如果自定义类加载器直接调用findClass(className),不再会委托其父类去找,而是自己直接找
另外:AppClassLoader以上的父类好像只找其对应目录且带完整包名的类(二进制名称,没有.class),如果自定义的只写类名.class就可以了,l 致于为什么我也不知道,只是测试出来的 |