最简单的方法, 就是写个测试类测试一下:
package com.getname.pkg;
public class Main {
public class Demo1 {
class Demo2 {
}
}
public static void main(String[] args) {
/* 三种方式获取普通类Main的名字 */
System.out.println("-----三种方式获取普通类的名字-----");
String name = Main.class.getName();
System.out.println("\t" + "getName()方法:" + name);
String canonicalname = Main.class.getCanonicalName();
System.out.println("getCanonicalName()方法:" + "\t" + canonicalname);
String simplename = Main.class.getSimpleName();
System.out.println("getSimpleName()方法:" + "\t" + simplename);
/* getName()和getCanonicalName()获取数组名比较 */
int[] aaa = { 1, 2, 3 };
System.out.println("\r\n" + "-----对于数组 int[]-----");
name = aaa.getClass().getName();
System.out.println("\t" + "getName()方法:" + name);
canonicalname = aaa.getClass().getCanonicalName();
System.out.println("getCanonicalName()方法:" + "\t" + canonicalname);
/* getName()和getCanonicalName()获取内部类名比较 */
System.out.println("\r\n" + "-----对于内部类-----");
name = Demo1.Demo2.class.getName();
System.out.println("\t" + "getName()方法:" + name);
canonicalname = Demo1.Demo2.class.getCanonicalName();
System.out.println("getCanonicalName()方法:" + "\t" + canonicalname);
}
}
打印结果为:
-----三种方式获取普通类的名字-----
getName()方法:com.getname.pkg.Main
getCanonicalName()方法:com.getname.pkg.Main
getSimpleName()方法:Main
-----对于数组 int[]-----
getName()方法:[I
getCanonicalName()方法:int[]
-----对于内部类-----
getName()方法:com.getname.pkg.Main$Demo1$Demo2
getCanonicalName()方法:com.getname.pkg.Main.Demo1.Demo2