概述
- getSimpleName() 返回类名
- getName() 返回全路径+类名,虚拟机里面的class的表示
- getCanonicalName() 返回全路径+类名,更容易理解的表示
- 对于普通类没有区别,对于内部类和数组类才会有区别。
实例
public static void main(String[] args){
Hello hello = new Hello();
System.out.println(hello.getClass());
System.out.println(hello.getClass().getSimpleName());
System.out.println(hello.getClass().getName());
System.out.println(hello.getClass().getCanonicalName());
Hello.InnerClass innerClass = new Hello.InnerClass();
System.out.println(innerClass.getClass());
System.out.println(innerClass.getClass().getSimpleName());
System.out.println(innerClass.getClass().getName());
System.out.println(innerClass.getClass().getCanonicalName());
}
/* 结果:
class com.example.demo.Hello
Hello
com.example.demo.Hello
com.example.demo.Hello
class com.example.demo.Hello$InnerClass
InnerClass
com.example.demo.Hello$InnerClass
com.example.demo.Hello.InnerClass
*/
路径