/*
内部类的访问规则:
1.内部类可以直接访问外部类中的成员,包括私有。
之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式:外部类名.this
2.外部类要访问内部类,必须建立内部类对象。
*/
class Outer
{
private int num=3;
void method()
{
Inner in=new Inner();
in.function();
}
class Inner//内部类可以被private修饰
{
int num=4;
void function()
{
int num=6;
System.out.println("Inner:"+num);//6
System.out.println("Inner:"+this.num);//4
System.out.println("Inner:"+Outer.this.num);//3
}
}
}
class Outer2
{
class Inner
{
}
}
class InnerClassDemo
{
public static void main(String[] args)
{
//Outer out=new Outer();
//out.method();
//直接访问内部类中的成员
Outer.Inner in=new Outer().new Inner();
in.function();
}
}
内部类的访问规则:
1.内部类可以直接访问外部类中的成员,包括私有。
之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式:外部类名.this
2.外部类要访问内部类,必须建立内部类对象。
*/
class Outer
{
private int num=3;
void method()
{
Inner in=new Inner();
in.function();
}
class Inner//内部类可以被private修饰
{
int num=4;
void function()
{
int num=6;
System.out.println("Inner:"+num);//6
System.out.println("Inner:"+this.num);//4
System.out.println("Inner:"+Outer.this.num);//3
}
}
}
class Outer2
{
class Inner
{
}
}
class InnerClassDemo
{
public static void main(String[] args)
{
//Outer out=new Outer();
//out.method();
//直接访问内部类中的成员
Outer.Inner in=new Outer().new Inner();
in.function();
}
}