内部类

一、内部类:

1、概念:

定义在其他类的内部的类就叫内部类,其他的类被称为外部类。在内部类中可以直接访问外部类的所有成员。

2、分类:

成员内部类、局部内部类。

3、成员内部类:

成员内部类,定义在外部类中的成员位置。

class 外部类 { 
    修饰符 class 内部类 {
        //其他代码
       }
}

访问方式:

外部类名.内部类名 变量名 = new 外部类名().new 内部类名();

4、局部内部类:

局部内部类,定义在外部类方法中的局部位置。

class 外部类 { 
    修饰符 返回值类型 方法名(参数) {
               class 内部类 {
//其他代码
              }
         }
}

访问方式:

在外部类方法中,创建内部类对象,进行访问

class Party {//外部类,聚会
    public void puffBall(){// 吹气球方法
        class Ball {// 内部类,气球
                  public void puff(){
                      System.out.println("气球膨胀了");
                  }
        }    
//创建内部类对象,调用puff方法
        new Ball().puff();
    }
}

public static void main(String[] args) {
    //创建外部类对象
    Party p = new Party();
    //调用外部类中的puffBall方法
    p.puffBall();
}

5、匿名内部类:

  定义的匿名内部类有两个含义:

      ①、 临时定义某一指定类型的子类;

②、 定义后即刻创建刚刚定义的这个子类的对象;

作用:

匿名内部类是创建某个类型子类对象的快捷方式。

new 父类或接口(){
    //进行方法重写
};

你可能感兴趣的:(内部类)