内部类-01

使用内部类的注意事项
1.内部类自动拥有顶层类所有成员的访问权限
2.在拥有外部类对象之前是不能创建内部对象的,有了外部类对象之后,可也用外部对象.new 创建内部对象。
3.内部类中要返回外部类的引用,可以使用外部类名.this
4.私有的和受保护的内部类可以向上转型为其基类,但是向下转型是不可以的,因为除了外部类之外,不能访问到它的名字。这样对外隐藏了内部类实现的细节
5.匿名类的构造器可以由实例初始化来充当,因为实例初始化不能重载,所以,匿名类只能有一个构造器。

嵌套类(static内部类)
创建嵌套类对象,不需要外围类对象
不能从嵌套类对象中访问非静态的外围类对象
普通内部类不能有static数据和static字段

为什么需要内部类
1.内部类实现一个接口与外围类实现这个接口的区别:每个内部类都能独立的继承一个接口的实现,所以,无论外围类是否已经继承了某个接口的实现,对于内部类都没有影响。
2.利用内部类可以实现多重继承,这对于要继承的是具体类或者抽象类特别有用

闭包和回调
闭包是一个可调用的对象,内部类是面向对象的闭包。它包含外围类对象的信息(创建内部类的作用域)。

控制框架
抽象事件类(Event):包含一个抽象的action()方法,控制基类(Controller):包含事件容器,向事件容器添加事件的方法,以及遍历事件容器,并触发事件处理程序的运行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,764评论 18 399
  • 今天整理一下内部类,其中包含了内部类的特殊形式,对比普通类有什么区别和作用,内部类和外围类之间的联系,内部类的扩展...
    _小二_阅读 637评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,914评论 18 139
  • 我没问你过得好不好 不代表你不重要 而是,我想你,却没有对你说 我希望被你需要,在你想找人说话的时候,在你失眠的时...
    5bbdb32c24aa阅读 535评论 0 0
  • 窗外飞着雪, 风凛凛地吹。 她捋捋额前的发丝, 皱一皱眉头, 垂眸。 手边躺着笔, 愁缕缕的来。 她理理书角的折痕...
    若R昀Y阅读 250评论 0 1