博主眼里的Java内部类

java有两种内部类,一种作为成员出现,一种仅作为代码段。

成员内部类

  就像定义成员变量和方法一样,

  可用的可见性修饰词:public, protected, private, default

  其他修饰词:final, static

  当内部类的类型为non-static时,纵使内部类的可见性为public,我们依然不能在类外部对其实例化,而只能在内部对其访问,并且只能在非静态方法中访问,此时内部类不能拥有static变量或者方法,毕竟此时内部类的存在依赖于外部类。

  当内部类的类型为static时,我们可以在符合其可见范围内对其使用,如果在类的外部,那么要用 外部类类名.内部类类名 使用。

其他形式内部类

匿名类也是一种内部类。当我们实现某接口,而只是用到很少的代码时,我们通常会用 new 接口名{...} 

还有一种内部类,在方法中定义,此时可见性只有方法内部。

posted on 2017-02-27 16:22  刘鹏昊  阅读(98)  评论(0)    收藏  举报