首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

类加载器的有关问题,一小段代码,说找不到类。Eclipse一个class文件只能建一个类吗

2012-06-03 
类加载器的问题,一小段代码,说找不到类。Eclipse一个class文件只能建一个类吗?package com.zpc.jvmclass T

类加载器的问题,一小段代码,说找不到类。Eclipse一个class文件只能建一个类吗?
package com.zpc.jvm;

class Test3 {
static {
System.out.println("Test3的静态初始化块!");
}
}

public class ClassLoaderTest {
public static void main(String[] args) throws ClassNotFoundException {
ClassLoader c1 = ClassLoader.getSystemClassLoader();
c1.loadClass("Test3");
System.out.println("系统加载Test3类。");
Class.forName("Test3");

}

}

[解决办法]
类加载需要带包名


c1.loadClass("com.zpc.jvm.Test3");
System.out.println("系统加载Test3类。");
Class.forName("com.zpc.jvm.Test3");

[解决办法]
对楼上的补充
ClassLoader 的loadClass并不是对类的主动使用,因此不会导致类的初始化
Class的forName是对类的主动使用,会导致类的初始化,因此静态变量被赋给初始值和静态块会被执行

热点排行