JAVA内部类

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

静态内部类

定义在类内部的静态类被称为静态内部类。

成员内部类

定义在类内部的非静态类叫作成员内部类,在成员内部类中不能定义静态方法和变量(final修饰的除外),因为成员内部类时非静态的,而在Java的非静态代码块中不能定义静态方法和变量。

局部内部类

定义在方法中的类叫作局部内部类。当一个类只需在某个方法中使用某个特定的类时,可以通过局部类来优雅地实现。

匿名内部类

匿名内部类属于局部内部类的一种,即没有类名的局部内部类,可以作为方法的参数或返回值。
匿名内部类指通过继承一个父类或者实现一个接口的方式直接定义并使用的类。匿名内部类没有class关键字,这是因为匿名内部类直接使用new生成一个对象的引用。

相关问题

1.为什么要使用内部类?

  • 内部类方法可以访问该类定义所在的的作用域中的数据,包括私有数据。
  • 内部类可以对同一个包中其他类隐藏起来
  • 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。

你可能感兴趣的:(内部类,java,开发语言)