1.内部类(类中类)主要特点:
a.内部类可以很好的隐藏,可以用private,protected修饰
b.内部类可以直接访问外部类所有成员,包括私有的成员
c.而外部类不能直接访问内部类,必须先建立内部类对象
2.成员内部类及应用
a.成员内部类属于外部类实例成员,成员内部类可以用public,default,protected,private修饰。在内部类中访问外部类格式:“外部类名.this.成员方法” “外部类名.this.成员属性”
b.创建成员内部类实例使用:“外部类名.内部类名 实例 = 外部类实例名.new 内部类构造方法(参数)”
class Outer{
int data;
void printData(){
System.out.println("内部类访问外部类");
}
void vistInner(){
Inner i = new Inner();
i.Inner();
}
class Inner{
//外部类名.this.成员
void InnerPrint(){
Outer.this.data = 100;
Outer.this.printData();
}
void Inner(){
System.out.println("外部类访问内部类");
}
}
}
public class Demo2 {
public static void main(String[] args) {
Outer o = new Outer();
o.vistInner();
//外部类名.内部类名 实例 = 外部类实例名.new 内部类构造方法(参数)
Outer.Inner test = o.new Inner();
test.InnerPrint();
}
}