Java基础之内部类

1.1 成员内部类

  • 定义格式:

    修饰符 class 外部类名称{
            修饰符 class 内部类名称{
                //...
            }                      
    }
    
  • 内用外,随意访问;外用内,需要内部类对象。

  • 使用方法:

    1. 间接方式:在外部类的方法当中,使用内部类,main只是调用外部类的方法

    2. 直接方式:

      类名称 对象名 = new 类名称();

      外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();

1.2 局部内部类

​ 如果一个类是定义在一个方法内部的,那么就是一个局部内部类,只能在该方法中使用。

  • 定义格式:

    修饰符  class  外部类名称  {
             修饰符  返回值类型  外部类方法名称() {
                      class   局部内部类名称 {
                      //…
                }
          }
    }
    
  • 权限修饰符规则:

    1. 外部类: public / (default)
    2. 成员内部类:public / protected / (default) / private
    3. 局部内部类:无
  • 在局部内部类中如果访问所在方法的局部变量,该局部变量必须是【有效final的】

1.3 匿名内部类

如果接口的实现类(或者是父类的子类)只需要使用唯一一次,那么这种情况下可以省略该类的定义,改为使用匿名内部类。

  • 定义格式:

    接口名称 对象名  =  new  接口名称() {
            // 覆盖重写所有抽象方法
    } 
    
posted @ 2021-08-17 12:05  夏虫语冰&  阅读(29)  评论(0)    收藏  举报