基本介绍

一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类(outer class)。内部类的最大特点就是可以直接访问私有属性,并且可以类与类之间的包含关系。

基本语法

class Outer{//外部类
class Inner{**_//内部类

  1. _**}<br />}<br />class Other{**_//外部其他类

_**}

  1. package test;
  2. public class Main {//外部其他类
  3. public static void main(String[] args) {
  4. }
  5. }
  6. class Outer { //外部类
  7. private int n1 = 100;//属性
  8. public Outer(int n1) {//构造器
  9. this.n1 = n1;
  10. }
  11. public void m1() {//方法
  12. System.out.println("m1()");
  13. }
  14. {//代码块
  15. System.out.println("代码块...");
  16. }
  17. class Inner { //内部类, 在Outer类的内部
  18. }
  19. }

内部类的分类

定义在外部类局部位置上(比如方法内):

  1. 局部内部类(有类名)
  2. 匿名内部类(没有类名)

    定义在外部类的成员位置上;

  3. 成员内部类(没有使用static修饰)

  4. 静态内部类(使用static修饰)