我将jdk的src源文件放在自己工程下面,为啥每次加载还是jdk1.5里面的.class文件?

我将Class.java直接写在自己工程里面,为啥自己代码引用到的还是jdk1.5里面的.class文件
有哥哥姐姐们知道原因的吗,求帮忙解决。

jdk

3个回答

在创建项目的时候有可以选择jdk版本的

你虽然自己写了一个同名的类,但是并没有加载你这个类,jdk自己的类(包名+类名)不会因为你同名就加载你这个。。可能我解释的不怎么清楚,类加载机制的知识也还得补。。但是大概原理就是这样。

Java的类加载是双亲委派机制,它保证各个类加载器加载Java基础类的统一问题,越是基础类越是由上层加载器进行加载的。所以你即便定义了一个与jdk源码基础类同名的类,但是最终系统中加载的还是基础类库中的类。即你不可能篡改基础类库的,这是由类加载器保证的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐