java 中内部类的实例详解
程序员文章站
2024-02-25 15:46:57
java 中内部类的实例详解
一:内部类可直接访问外部类的成员变量,包括外部类私有的成员变量
二:外部类要访问内部类的成员变量,需要建立内部...
java 中内部类的实例详解
一:内部类可直接访问外部类的成员变量,包括外部类私有的成员变量
二:外部类要访问内部类的成员变量,需要建立内部类的对象
class outer{ int x=110; public void show(){ system.out.println("外部类的x="+x); } public void showinner(){ inner inner=new inner(); inner.show(); system.out.println(inner.x); } class inner{//内部类 int x=220; public void show(){ system.out.println("内部类的x="+x); } } } public class outerdemo { public static void main(string[] args) { outer outer=new outer(); outer.show(); outer.showinner(); outer.inner outerinner=new outer().new inner();//特殊情况.外部类直接访问内部类成员变量 outerinner.show(); } }
内部类之所以可以直接访问外部类的成员变量,是因为内部类持有外部类的引用。格式:外部类名.this
如:system.out.println("x="+outer.this.x);//访问外部类的x
class outer{ int x=110; class inner{ int x=220; public void show(){ int x=330; system.out.println("x="+x);//访问show()中的x system.out.println("x="+this.x);//访问内部类的x system.out.println("x="+outer.this.x);//访问外部类的x } } void showinner(){ inner inner=new inner(); inner.show(); } } public class outerdemo { public static void main(string[] args) { outer outer=new outer(); outer.showinner(); } }
在内部类(一)和内部类(二)中,内部类都是作为全局变量出现的即定义在了类里 ,在此奖内部类定义为局部变量,即定义在方法里.尤其注意:此时内部类要想访问局部变量,那么此 局部变量必须是被final修饰的,如此处的y
package cn.com; class outer { int x = 110; public void show() { final int y=99; class inner {// 内部类 int x = 880; public void showinner() { system.out.println("局部变量y=" + y); } } new inner().showinner(); } } public class outerdemo { public static void main(string[] args) { outer outer = new outer(); outer.show(); } }
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!