java 中内部类的实例详解

网友投稿 255 2023-04-08


java 中内部类的实例详解

java 中内部类的实例详解

一:内部类可直接访问外部类的成员变量,包括外部类私有的成员变量

二:外部类要访问内部类的成员变量,需要建立内部类的对象

class Outer{

int x=110;

public void show(){

System.out.println("外部http://类的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();

}

}

在内部类(一)和内部类(二)中,内部类都是作为全局变量出现TNReI的即定义在了类里  ,在此奖内部类定义为局部变量,即定义在方法里.尤其注意:此时内部类要想访问局部变量,那么此  局部变量必须是被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();

}

}

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java 中ArrayList迭代的两种实现方法
下一篇:Spring 4.0新功能:@Conditional注解详细介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~