首页 > 其他 > 详细

内部类

时间:2019-08-27 23:52:00      阅读:79      评论:0      收藏:0      [点我收藏+]

内部类、方法内部类、局部代码块内部定义的类

(1)非静态内部类

class A{
  class Inner{
    //它的实例属于外部类
  }
}

  • 非静态内部类对象,必须依赖于外部对象才能存在

  A a = new A();

  Inner i = a.new Inner();

  • 辅助外部对象,来封装局部的运算逻辑

 

(2)静态内部类

class A{
  static class Inner{
   //和外部类无关,可以直接创建实例
  }
}
  • 和外部类无关,可以直接创建实例,他和一个普通的类没有区别
  • 静态内部类,可选
  • 两种类型,关系紧密时,可以选择静态内部类
  Inner i = new Inner();

(3)局部内部类

class A{
  void f(){
    class Inner(){

    }
  }
}

 

(4)匿名内部类

Weapon w = new Weapon(){...};

  • 大括号是匿名类
  • new 新建匿名类的实例
  • Weapon作为匿名类的父类型
  • 小括号super() ,super(参数数据)

 

内部类

原文:https://www.cnblogs.com/gxlaqj/p/11421472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!