美文网首页
Java内部类

Java内部类

作者: 一曲三月 | 来源:发表于2020-07-25 18:54 被阅读0次

    1. 内部类

    在一个类的内部另外定义一个类,分为静态内部类,方法内部类,成员内部类,匿名内部类

    • 内部类的实例化,new 外部类对象.内部类名()
    • 内部类的访问,内部类可以直接访问外部类的成员,包括私有。格式:外部类名.this.外部类变量名
    • 外部类访问内部类,需要建立内部类对象
    • 内部类定义在类的成员位置时,而且非私有,则在外部其他类中可以直接建立内部类对象。格式:
      外部类名.内部类名 变量名 = 外部类对象.内部类对象
      Outer.Inner in = new Outer().new Inner()

    2. 静态内部类

    • static 修饰的内部类,静态内部类只能调用外部类的静态变量。
    • 静态内部类的静态成员访问,外部类名.内部类名().变量
    • 静态内部类非静态成员访问,new 外部类名.内部类名().变量
    • 当内部类定义了静态成员,内部类必须是静态内部类,当外部类中的静态方法访问内部类时,内部类也必须时static

    3. 匿名内部类

    • 类的方法的调用更加方便,以及参数数据的返回
    • 这个时候可以new 接口了,格式new 接口或者父类(){
      方法体定义实现类的方法
      }
    • 匿名内部类只能访问外部类中用final修饰的局部变量

    相关文章

      网友评论

          本文标题:Java内部类

          本文链接:https://www.haomeiwen.com/subject/jlemlktx.html