内部类
定义在类的里面的类叫内部类
格式:public class 外部类名{
class 内部类名{
…
}
}
分类:成员内部类,局部内部类
四种权限修饰符
public protected default private (default不写,从左到右权限依次减小)
成员内部类
在其他类中创建内部类的对象:
外部类名.内部类名 对象名 = new 外部类ming.new 内部类名
Outer.Inner inner = new Outer.new Inner();
变量重名怎么解决?
如果内部类的变量和外部类中的变量重名,遵循就近原则。访问外部的变量用外部类名.this.变量名
局部内部类
在方法内部创建的类,叫局部内部类。
局部内部类的作用范围仅限于方法内部
匿名内部类
定义类时没有取名字
定义方式:
方式一:
父类名 对象名 = new 父类名(){…}
方式二:
接口名 对象名 = new 接口名(){…}
什么时候使用?整个项目中匿名内部类只被用一次时。