日期:2014-05-20 浏览次数:21048 次
/* 这个程序用于测试获得类ClassTest 的Class 引用的3个方法。
* 20120312
* filename :TestGetClass.java
*/
package csdn;
public class TestGetClass
{
public static void main(String[] args)
{
System.out.println(" ---------测试第一种方法!------");
TestClass1 testClass1=new TestClass1();
Class classReference1=testClass1.getClass();
System.out.println("classReference1 is "+classReference1);
System.out.println(" ---------测试第一种方法结束!------"+"\r\n");
System.out.println(" ---------测试第二种方法!------");
try
{
Class classReference2=Class.forName("csdn.TestClass2"); //这块要用类的全名。而且要放在try/catch里。
System.out.println("classReference2 is "+classReference2);
System.out.println(" ---------测试第二种方法结束!------"+"\r\n");
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
System.out.println(" ---------测试第三种方法!------");
Class classReference3=TestClass3.class;
System.out.println("classReference3 is "+classReference3);
System.out.println(" ---------测试第三种方法结束!------"+"\r\n");
}
}
//---- 用于第一种方法。
class TestClass1
{
public TestClass1()
{
System.out.println("TestClass1 is initializing!");
}
static
{
System.out.println("static block1 is running!");
}
}
//---- 用于第二种方法。
class TestClass2
{
public TestClass2()
{
System.out.println("TestClass2 is initializing!");
}
static
{
System.out.println("static block2 is running!");
}
}
//---- 用于第三种方法。
class TestClass3
{
public TestClass3()
{
System.out.println("TestClass3 is initializing!");
}
static
{
System.out.println("static block3 is running!");
}
}