黑马程序员技术交流社区

标题: 关于基本类型、void获取类加载器问题?求指教 [打印本页]

作者: 罗全涛    时间: 2012-1-4 19:57
标题: 关于基本类型、void获取类加载器问题?求指教
本帖最后由 罗全涛 于 2012-1-5 01:13 编辑

我们知道8种基本数据类型和void都有其对应的Class实例对象。看JDK时发现在Class方法中public ClassLoader getClassLoader()用来获取该类的类加载器,
文档上说如果此对象表示一个基本类型或 void,则返回 null。那么我想问8中基本类型和void也对应由类,为什么当调用getClassLoader返回其加载器时
会是null?这表示它们是有BootStrap这个加载器加载吗?还是有别的什么意思?ClassLoader类中有这么几句话和这个很像:数组类的 Class 对象不是由
类加载器创建的,而是由 Java 运行时根据需要自动创建,数组类的类加载器由 Class.getClassLoader() 返回,该加载器与其元素类型的类加载器是相同
的;如果该元素类型是基本类型,则该数组类没有类加载器
作者: lvwenwen88    时间: 2012-1-4 20:50
不懂,同问
作者: 罗全涛    时间: 2012-1-5 01:13
想通了,每个类,即便是基本数据类型,比如int.class 字节码在被加载时必然是由另外的类加载的,
而java中只有一个bootStrap不需要任何类加载,因此当调用int.class.getClassLoader()的时候,
返回null,表明基本数据类型是由bootStrap加载的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2