Java 内部类

49 阅读1分钟

前言

java的类中,可以定义类,这样定义在类内部的类被称为内部类。 根据定义的方式不同,内部类分为静态内部类、成员内部类、局部内部类、匿名内部类四种

静态内部类

由static修饰的内部类。

  1. 可以访问外部类所有的静态变量和属性
  2. 类中可以定义静态属性、方法、构造器
  3. 其他类使用静态内部类的方式:外部类.静态内部类
  4. (像HashMap类内部就有个静态内部类Entry,像这种和外部类关系紧密的,且不依赖外部类实例的,都可以使用静态内部类)

成员内部类

定义在类内部的非静态类,就是成员内部类。成员内部类不能定义静态的方法和变量(final 修饰的除外)

局部内部类

定义在方法中的类,就是局部内部类。如果一个类只在某个方法中使用,可以考虑使用局部类

匿名内部类

继承一个父类或者实现一个接口,他是没有class的,这是因为匿名内部类直接使用new 来生成一个对象的引用