-------------
内部类:
一个类中存在另一个类
内部类的分类:
成员内部类(非静态内部类)
a.可以使用的权限修饰符: public protected default private
b.语法
Class Outer{
Class Inner{
}
}
c.特点:
1.内部类中,可以随意调用外部类成员
2.外部类中,使用内部类成员时,需要创建内部类对象
3.无关类中使用成员内部类
1).间接调用,在外部类中的方法创建内部类的对象
2).直接调用,创建内部类对象
ps: new Outer().new Inner()
4.内部类和外部类中有同名的成员变量情况:
a.获取外部类成员变量
类名.this.变量名
b.获取内部类成员变量
this.变量名
c.获取方法内的局部变量
变量名
局部内部类[匿名内部类]
局部变量:
a.在方法内部定义的类,只在方法中有效
b.在局部内部类中,使用局部变量,必须是final修饰的
c.一次性的类,只能使用一次
d.不能使用访问修饰符
e.作用:一般都是结合抽象类/接口使用
[*匿名内部类]:
作用:实现接口/继承抽象类
缺点:一次性使用
语法:
接口/抽象类 引用名 = new 接口/抽象类(){实现类实现的抽象方法}
匿名对象:
只能使用一次,只能调用一次方法
静态内部类