各位大佬,请问内部类方法不能同时调用同名的内部类变量和外部类变量吗?
你截图的“访问外部类的变量b” 其实这里它是方法中的变量,可以直接通过变量名访问的。(内部类定义在该方法中的)
HelloTest.this.b这个是访问外部类的非静态变量用的,假如你在HelloTest下面定义了一个非静态变量int b= 5;这个时候你的程序就对了
我前面那个搞错了,楼主为什么你没有调用外部类show()方法?
为什么我觉得内部类调用方法错了呢?不应该是先调用外部类方法再内部类方法嘛?求解
大哥 我也遇到这个问题了,。。。 这些评论我一个都看不懂 请问解决了吗
你使用new HelloTest().b试试看,是否可以调用
直接HelloTest.b 就可以调用了吧
我觉得上面这些人都是在一本正经的瞎说,对自己说出来的答案有验证过吗 ,在这边误人子弟.我是写js的,在学习到这一章节的时候也在考虑方法内部类里面同名的变量怎么取值这个问题.
首先内部类中的b取值肯定是就近原则,如果出现同名变量,这种取方法里面的变量是不符合规范的,方法不是对象,不能通过.b这种方式取,你若想取到方法中的值,那只能是方法执行有return b,才能取值到这个值.但是真要这么做会导致内存溢出.show方法被循环执行.
可以调用啊,调用的时候进行区分就可以