您的位置:首页 > 编程语言 > Java开发

Java高级特性之new一个内部类

2013-10-04 01:59 435 查看
package three.day.newcharacter;

class Outer

{

public static final int height = 20;

public static int weight = 20;

private int num = 100;//内置类可以访问private的,public,protected肯定可以

class Inner //定义内置类

{

class InnerInner

{

void output()

{

System.out.println(Outer.this.num);//无论内部累内置多少内部类,内置有多深始终可以直接使用Outer.this

System.out.println(Inner.this.num);

}

}

private int num = 90;

void output()

{

int num = 80;

InnerInner innerinner = new InnerInner();

innerinner.output();

System.out.println(num);//局部变量

System.out.println(this.num);//内置类私有成员

System.out.println(Outer.this.num);//引用外部类中的私有成员

}

}

void output()

{

Inner inner = new Inner();

inner.output();//外部类成员函数调用内部类成员函数

}

Inner GetInner()

{

return new Inner();

}

}

class InnerClass3

{

public static void main(String[] args)

{

//final int a1 = 10;

//System.out.println(a1);

Outer outer = new Outer();

outer.output();

//怎么在main函数中直接使用Inner,注意Inner的可见性

Outer.Inner inner1 = outer.GetInner();

inner1.output();

Outer.Inner inner2 = outer.new Inner();

inner2.output();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: