在一个类的内部再创建一个类,成为内部类
1)在一个类中使用内部类,可以在内部类中直接存取所在类的私有属性或方法
?2)内部类的实例化方法
? ? 3)外部类访问内部类
4)如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。
? ??注意点:
?实例化内部类之前必须实例化外部类
?内部类可以随意访问他的外部类成员,但外部类不可以直接访问内部类的类成员
?内部类可以被声明为private 或 protected 权限的访问
?内部类对象会依赖于外部类对象,除非已经存在一个外部类对象,否则类中不会出现内部类对象
?局部内部类(方法内部类)
内部类不仅可以在类中进行定义,也可以在类的局部位置进行定义,例如在类的方法或者任意的作用域中都可以定义内部类
? ? 1)在外部类的方法中定义一个方法内部类
注意:如果方法中的参数需要被传递进去,就必须把参数声明成final类型
如果一个内部类被声明为static,此内部类就称为外部类
?1)静态内部类可以通过(new 外部类名.内部类.内部类方法名)?,来调用静态内部类方法
匿名内部类也就是没有名字的内部类,正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写.使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口
1)匿名内部类的实现