自己写的String类能够被加载吗?
答:自己尝试了一下, 不能被加载, 如果你引用了自己写的String类, 则该住房那个执行的绿色三角就会消失, 是不能执行的。
在上面引入了interview.String、左边的三角形就消失了; 右边没有引入, 就有可执行三角。
为什么呢?这是类加载中的双亲委托机制。
就是说java虚拟机在加载一个类的时候, 应用程序类加载器会委托扩展类加载器加载, 扩展类加载器会委托根加载器加载, 这样做的目的是什么呢?当然是为了保证程序的安全, 它就是要保证你用的和系统类同名的类一定是系统自己提供的, 而不是你自己写的, 如果你要搞个其他类, 你干啥要和系统提供的类同名呢?
这样做的目的就是不想背锅, 你他娘的不要说用了某个外部的String类,然后程序出问题了, 怪jdk的开发人员。。
也就是说你写的类不能与jdk自带的类同名, 同名就不