2 zhuzhu923 zhuzhu923 于 2016.01.28 16:56 提问

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

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

3个回答

u010515202
u010515202   2016.01.28 17:04

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

baokx
baokx   2016.01.28 18:02

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

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.28 20:08

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!