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

为什么不能加this

//外部类

public class SOuter {

 private int a=99;//外部类的私有变量

  static int b=11;//外部类静态变量

 //静态内部类

  public static class SIuter{

 int  b=22;//内部类的变量

 public void test(){

 System.out.println("访问外部类中的b;"+SOuter.this.b);

 System.out.println("访问内部类中的b:"+b);

 }

  }

  //测试静态内部类

  public static void main(String [] args){

 //直接创建内部类对象

 SIuter si=new SIuter();

 //调用test方法

 si.test();

  }

}


正在回答

3 回答

都是静态变量,虽然名字相同但是不需要加this。

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

邓一格 提问者

非常感谢!
2017-08-13 回复 有任何疑惑可以回复我~

外部类中的b是static,因此不需要Outer.this.b

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

您好,我的理解是因为你的b已经是外部类的静态变量.而this是不能在静态方法中出现的;

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

举报

0/150
提交
取消

为什么不能加this

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号