MiaLoo
2016-05-16 19:44
请问为什么静态内部类SInner中定义了成员变量b,而外部类SOuter中也定义了一个同名的静态成员变量b,为什么静态类中访问外部变量是用 SOuter.b 而不是 SOuter.this.b?不会因为就近原则而混淆成静态内部变量里的b了吗??
如果外部类的静态成员与静态内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;
如果外部类的静态成员和成员内部类的成员名称相同,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字
不会,
如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
不会,
如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
不会,
如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
Java入门第二季 升级版
530559 学习 · 6091 问题
相似问题