最近在写接口,看师兄的代码,遇到了题中的几个方法,不是很懂,贴出来,举个例子,和大家分享一下
package com.baiyyang.test;
public class Test extends Thread{
public static class Test1{
public static void main(String[] args) {
Test1 test1 = new Test1();
System.out.println(test1.getClass().getSimpleName());
System.out.println(test1.getClass().getCanonicalName());
System.out.println(test1.getClass().getName());
}
}
}
上面代码的输出 结果:
Test1
com.baiyyang.test.Test.Test1
com.baiyyang.test.Test$Test1
也就是说,getSimpleName得到的只是该对象的类名,
getName和getCanonicalName是得到全路径的名
在load class的时候需要的名字也是getName这种的名字
在根据类名字创建文件的时候最好使用getCanonicalName()