亲宝软件园·资讯

展开

Java 内部类

wx60d4764eb475e 人气:0

一,内部类访问成员

class Outer
{
int x = 3;
class Inner{
void function(){
System.out.println("inner : " + x);
}
}


void method(){
Inner in = new Inner();
in.function();
}


}
class InnerClassDome
{
public static void main (String[] args)
{
Outer out = new Outer();
out.method();
}
}

二,访问内部类成员

1,直接访问内部类的中的成员

class Outer
{
int x = 3;
class Inner{
void function(){
System.out.println("inner : " + x);
}
}


void method(){
Inner in = new Inner();
in.function();
}


}
class InnerClassDome
{
public static void main (String[] args)
{
//Outer out = new Outer();
//out.method();



Outer.Inner in = new Outer().new Inner();
in.function();
}
}

2,访问成员

之所以可以直接访问外部类的成员,是因为内部类中持有了一个外部类的引用,格式: 外部类名.this

class Outer
{
int x = 3;
class Inner{
int x = 4;
void function(){
int x = 6;
System.out.println("inner : " + x);
System.out.println("inner : " + this.x);
System.out.println("inner : " + Outer.this.x);
}
}


void method(){
Inner in = new Inner();
in.function();
}


}
class InnerClassDome
{
public static void main (String[] args)
{
//Outer out = new Outer();
//out.method();



Outer.Inner in = new Outer().new Inner();
in.function();
}
}

加载全部内容

相关教程
猜你喜欢
用户评论