package 主要内容;
/**
将一个类定义在另一个类的里面,对里面的那个类就称为内部类(内部类,嵌套类)
内部类的访问规则:
1、内部类可以直接访问外部类中的成员,包括私有成员
之所以可以直接访问外部类中的成员,是因为内部类持有了一个外部类的引用,
格式 外部类名.this
2、而外部类要访问内部类中的成员必须要建立内部类的对象
*
*/
class Outer
{
int x=3;
class Inner//内部类
{
int x=4;
void function()
{
int x=6;
System.out.println("inner:"+Outer.this.x);
}
}
void method()//外部类要先建立内部类的对象 才可以访问
{
Inner in=new Inner();//内部类的对象
in.function();
}
}
public class 内部类访问规则
{
public static void main(String[] args)
{
//Outer out=new Outer();
//out.method();
//直接访问内部类中的成员
Outer.Inner in=new Outer().new Inner();
in.function();
}
} |
|