Java内部类

来源:互联网 发布:ubuntu中安装jenkins 编辑:程序博客网 时间:2024/06/10 03:14

一,
1,内部类可以直接访问外部类的成员,包括私有。
2,外部类要访问内部类,必须建立内部类对象。

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();}}



                                             
0 0
原创粉丝点击