首页 > 代码库 > java内部类总结

java内部类总结


6.4 内部类


  1. 概念:内部类就是定义在另一个类中的类。

  2. 好处:可以访问该类的所有数据,包括私有数据。

        内部类对同个包的其他类隐藏。

一、内部类访问对象

  1. 内部类和外部类是类之间的关系,并不是每个外部类都有一个内部类的实例域。

  2. 内部类的对象总有一个隐式引用,指向创建它的外部类对象

  3. 只有内部类可以是私有类,而常规类只可以是包可见性或者是公有可见性。

     

二、内部类规则

  1. 可以采用outer.new Inner(...)来创建内部类

  2. 内部类声明的所有静态域都必须是final,而且内部类不能有static方法

  3. 编译器会把内部类翻译成类名为: outer$inner 的常规类

     

三、内部类的分类

  1. 局部内部类:

    1) 局部内部类不能用public或者private声明,它的作用域被限制在这个局部类的块中

    2) 优点:对该局部方法之外完全隐藏、不仅能访问外部类,还可以访问局部变量,不过那些局部变量必须是final。

  2. 匿名内部类:

    1)匿名类不能有参数。

  3. 静态内部类:

    when:只是为了把一个类隐藏在另一个类中,并不需要在其中引用外部类的对象。

    静态内部类除了没有生成外部类的引用外,与其他所有内部类完全一样。

    在接口中声明内部类自动转为static和public

本文出自 “赤霄” 博客,请务必保留此出处http://cnslp.blog.51cto.com/11387491/1918453

java内部类总结