各位大佬,请问内部类方法不能同时调用同名的内部类变量和外部类变量吗?

来源:7-8 Java 中的方法内部类

慕婉清8375384

2019-05-21 10:39

各位大佬,请问内部类方法不能同时调用同名的内部类变量和外部类变量吗?


https://img1.mukewang.com/5ce364450001fce607480376.jpg

写回答 关注

8回答

  • 慕慕007
    2019-05-24 16:10:37
    已采纳

    你截图的“访问外部类的变量b” 其实这里它是方法中的变量,可以直接通过变量名访问的。(内部类定义在该方法中的)

    HelloTest.this.b这个是访问外部类的非静态变量用的,假如你在HelloTest下面定义了一个非静态变量int b= 5;这个时候你的程序就对了

    qq_慕函数...

    你在这瞎说你吗呢?

    2019-06-11 11:33:09

    共 5 条回复 >

  • weixin_慕婉清7222021
    2020-06-12 12:23:05

    我前面那个搞错了,楼主为什么你没有调用外部类show()方法?

  • weixin_慕婉清7222021
    2020-06-12 11:31:10

    为什么我觉得内部类调用方法错了呢?不应该是先调用外部类方法再内部类方法嘛?求解


  • 慕码人7051976
    2019-11-21 08:55:05

    大哥 我也遇到这个问题了,。。。  这些评论我一个都看不懂 请问解决了吗

  • 若尘灬
    2019-08-04 21:18:01

    你使用new HelloTest().b试试看,是否可以调用

  • 慕虎5108534
    2019-06-26 11:31:54

    直接HelloTest.b 就可以调用了吧

  • 慕娘2217437
    2019-06-01 19:56:55

    我觉得上面这些人都是在一本正经的瞎说,对自己说出来的答案有验证过吗 ,在这边误人子弟.我是写js的,在学习到这一章节的时候也在考虑方法内部类里面同名的变量怎么取值这个问题.

    首先内部类中的b取值肯定是就近原则,如果出现同名变量,这种取方法里面的变量是不符合规范的,方法不是对象,不能通过.b这种方式取,你若想取到方法中的值,那只能是方法执行有return b,才能取值到这个值.但是真要这么做会导致内存溢出.show方法被循环执行.

    qq_慕函数...

    没毛病 上面那两个明显在瞎说 两个憨憨在这误人子弟

    2019-06-11 11:34:47

    共 4 条回复 >

  • 慕勒9509760
    2019-05-21 22:55:07

    可以调用啊,调用的时候进行区分就可以

    慕婉清837... 回复慕勒9509...

    可是我贴的图,调用是错误的呀··~

    2019-05-22 10:22:30

    共 3 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530644 学习 · 6091 问题

查看课程

相似问题