“System.out.println("内部类中的name:" + this.name );//这样就是错的”这时候使用了this关键字访问的是外部类的成员变量,所以与期望输出的内部类成员变量有出入。而下面的“System.out.println("内部类中的name:" + name );//这样才是对的”内部类默认访问的就是自己的成员变量,在这里没有使用this关键字,默认的就是访问的内部类的成员变量,与期望输出内部类的name相同,所以正确
2016-07-24
鲨鱼小王子
System.out.println("内部类中的name:" + this.name );//这样就是错的
System.out.println("内部类中的name:" + name );//这样才是对的,有什么区别?真奇怪
回答:
一楼的“鲨鱼小王子”的问题,我的理解是:
当外部类和内部类有着相同的成员变量或者方法时,内部类默认访问的是自己的成员变量,如果要访问外部类的成员变量则需要使用this关键字。
所以当外部类和内部类都有name成员变量时,
System.out.println("内部类中的name:" + this.name );//这样就是错的
System.out.println("内部类中的name:" + name );//这样才是对的,有什么区别?真奇怪
回答:
一楼的“鲨鱼小王子”的问题,我的理解是:
当外部类和内部类有着相同的成员变量或者方法时,内部类默认访问的是自己的成员变量,如果要访问外部类的成员变量则需要使用this关键字。
所以当外部类和内部类都有name成员变量时,
2016-07-24