内部类

内部类

把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类。包含内部类的类被称为外部类。

 

内部类的作用

  • 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。
  • 内部类成员可以直接访问外部类的私有数据。因为内部类被当做其外部类的成员,同一个类的成员之间可以相互访问。但外部类不能访问内部类的实现细节,例如内部类的成员变量。
  • 匿名内部类适用于创建那些仅需要一次使用的类。

 

注意:内部类比外部类可以多使用三个修饰符:private、protected、static,外部类不可以使用这三个修饰符

非静态内部类不能拥有静态成员。

 

静态内部类

用static修饰的内部类叫做静态内部类

  • 静态内部类属于外部类本身,而不属于外部类的某个对象
  • 静态内部类不能访问外部类的实例成员,只能访问外部类的类成员

 

匿名内部类

 

定义格式

new 实现接口() | 父类构造器(实参列表)
{
    //匿名内部类的类体部分  
}

匿名内部类不能是抽象类。

匿名内部类不能定义构造器。

 

posted @ 2017-08-07 19:58  CodeCouldCool  阅读(117)  评论(0编辑  收藏  举报