为了账号安全,请及时绑定邮箱和手机立即绑定

方法内部类中的同名方法如何访问方法中与内部类同名的变量

package com.imooc.org;

public class HelloWorld {

	//外部类的私有属性name
    private String name = "imooc";
    
//    static //外部类的成员属性
    int age = 20;
    
    public void show(){
	//成员内部类Inner
    	int age = 35;
		class Inner {
			String name = "爱慕课";
			int age = 50;
	        //内部类中的方法
			public void show() { 
				System.out.println("外部类中的name:" + new HelloWorld().name );
				System.out.println("内部类中的name:" +name );
				System.out.println("外部类中的age:" +age);//这里如何让age = 35 ?
			}
		}
		Inner inn = new Inner();
		inn.show();
	}
    
	//测试成员内部类
	public static void main(String[] args) {
        
        //创建外部类的对象
		HelloWorld o = new HelloWorld (); 
        
        //创建内部类的对象
//		Inner inn =new Inner();              ;
        
        //调用内部类对象的show方法
		o.show();
	}

}


正在回答

5 回答

final 加一个

0 回复 有任何疑惑可以回复我~

?同问,我也想到了这个问题

0 回复 有任何疑惑可以回复我~

第19行改为

System.out.println("外部类中的name:" + HelloWorld.this.name );

第21行中age是HelloWorld类的方法中的局部变量,并不是外部类HelloWorld中的age

如果要使用外部类中的age,则是HelloWorld.this.age获取到

0 回复 有任何疑惑可以回复我~
#1

桥米

不对的。
2017-02-28 回复 有任何疑惑可以回复我~
#2

落叶萧萧online

就近原则吧,是方法内部类的age,50。。中间那个确实不知道怎么输出
2017-03-10 回复 有任何疑惑可以回复我~

不需要new

0 回复 有任何疑惑可以回复我~

gg  不符合java语法规定吧,,,确实获取不到   ,,网上说不符合java语法

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

方法内部类中的同名方法如何访问方法中与内部类同名的变量

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信