内部类特点:
内部类可以很好的实现隐藏,可以使用protected private修饰符 | 内部类可以直接访问外部类的所有成员,包括私有的成员 | 外部类不能直接访问内部类的成员,必须首先建立内部类的对象才能访问 |
成员内部类访问外部类的成员方法和属性,要使用“外部类名.this.成员方法”和“外部类名.this.成员属性”的形式;创建成员内部类的实例使用“外部类名.内部类名 实例 = 外部类实例名.new 内部类构造方法(参数)”的形式。
class Outer
{
int data;
void printData()
{
System.out.println("外部类");
}
//外部类如何调用内部类
void intitInner(int data)
{
i = new Inner();
i.data = data;
}
void visitInner()
{
// Inner i = new Inner();
// i.data = 15;
System.out.println("内部类的data="+i.data);
}
class Inner
{
int data;
void InnerPrint()
{
System.out.println("内部类");
//内部类如何调用外部类的方法
Outer.this.printData();
System.out.println("外部类data="+Outer.this.data);
}
}
Inner i;
}
public class NeiBuLei {
public static void main(String[] args) {
//内部类的实例使用
Outer out = new Outer();//先实例好外部类
Outer.Inner test = out.new Inner();//再实例内部类
out.data = 12;
out.intitInner(30);
out.visitInner();
// out.printData();
// out.visitInner();
// test.InnerPrint();
}
}
|