先看一张图:
顶级类:直接定义,不嵌套任何类的内部
嵌套类:nested class 就是静态的内部类
内部类:inner class 也叫 member class 成员类。就像是成员属性一样
局部类:定义在方法中的类。没有完全限定名和Canonical Name
。因此:getCanonicalName
结果是null
匿名类:匿名内部类。快速继承父类覆写方法、继承抽象类实现方法、实现接口并实例化对象;而不需要额外定义类。
来源:oschina
链接:https://my.oschina.net/u/3870422/blog/3208471