创建内部类的实例方法

来源:互联网 发布:淘宝客服图片素材 编辑:程序博客网 时间:2024/06/05 18:20

方法1:在外部类类初始化内部类实例

class Start{public static void main(String [] args){MyOuter outer=new MyOuter();outer.doStuff();}}

class MyOuter{private int x;//外部有个私有的x实例变量MyInner inner=new MyInner();//创建内部的实例public void doStuff()//调用内部类的方法{inner.go();}class MyInner{void go(){x=24;//内部可以使用外部的x变量System.out.println("x="+x);}}}

注意:

class MyOuter{private int x;//外部有个私有的x实例变量MyInner inner=new MyInner();//创建内部的实例public static void main(String [] args)//main只能放在实例变量下面和方法上面才可以成功通过编译{MyOuter outer=new MyOuter();outer.doStuff();}public void doStuff()//调用内部类的方法{inner.go();}class MyInner{void go(){x=24;//内部可以使用外部的x变量System.out.println("x="+x);}}}


方法2:在外部类意外的程序代码来初始化内部实例,这需要特殊的语法

class Foo{public static void main(String [] args){MyOuter outerObj=new MyOuter();MyOuter.MyInner innerObj=outerObj.new MyInner();innerObj.go();}}

class MyOuter{private int x;//外部有个私有的x实例变量//MyInner inner=new MyInner();//创建内部的实例/*public void doStuff()//调用内部类的方法{inner.go();}*/class MyInner{void go(){x=24;//内部可以使用外部的x变量System.out.println("x="+x);}}}


0 0