`
bingzhen66
  • 浏览: 37065 次
文章分类
社区版块
存档分类
最新评论

27.黑马程序员-局部内部类

 
阅读更多

------- android培训java培训、期待与您交流! ----------

1.概述
  • 只有定义在成员位置上的内部类才能被修饰。一般来说,内部类是不需要被公有修饰的。
  • 内部类不只可以定义为类的成员,也可以定义在局部,这就是局部内部类。
2.局部内部类的实现
  • 内部类定义在局部位置,这时候内部类不能被修饰。
  • 那么局部的内部类能定义静态吗?不能,因为局部内部类中的成员是静态,局部内部类也必须是静态,但是局部内部类不能定义静态(这么罗嗦...)。并且不能被任何成员修饰符修饰。
  • 示例:
    • void method()
    • {
      • class Inner
      • {
        • void function()
        • {
          • Sop("");
        • }
      • new Inner().function();//建立一个局部内部类对象调用它的方法。格式是new 局部内部类对象的构造方法.方法。
      • }
    • }
    • class InnerClassDemo
    • {
      • public static void main(String[] args)
      • {
        • new Outer ().method();//建立一个直接外部类的方法,这个方法里面有一个局部内部类。格式是new 直接外部类构造函数.方法。
      • }
    • }
  • 由示例中看出局部内部类的实现步骤:
    • 1.在直接外部类的一个方法中建立一个局部内部类。
    • 2. 建立一个局部内部类对象调用该对象的方法。
    • 3. 建立一个直接外部类的对象,这个对象调用含有局部内部类的方法。
3.注意
  • 内部类定义在局部时,
    • 不可以被成员修饰符修饰,如static等。
    • 可以直接访问外部类中的成员,因为还持有外部类中的引用。但是局部内部类访问所在的局部变量的时候,该变量必须是final的(规则)。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics