java吧 关注:1,238,941贴子:12,709,413
  • 30回复贴,共1

看视频遇到问题,关于构造代码块

只看楼主收藏回复

在看某传智的视频,老师讲到构造代码块的时候,把它和成员变量还有构造方法放在一起写了代码,
这个的原理我明白了,输出的是300,而且和构造方法和成员变量的相对顺序有关系
但是又出现了新的疑问


IP属地:山东1楼2015-08-20 07:15回复

    如果把所有变量 a 前全部写int 编译的时候并不会报错,而且输出 A == 100
    改变代码的相对顺序并不会改变a的值,以前有c++的基础
    我在想是不是出现了屏蔽的情况


    IP属地:山东2楼2015-08-20 07:19
    回复
      两个a不是同一个a


      来自iPhone客户端3楼2015-08-20 07:37
      收起回复
        a已经有了不能再被int


        来自Android客户端4楼2015-08-20 07:45
        收起回复
          怎么换的顺序啊 你是怎么输出的?


          IP属地:北京来自Android客户端5楼2015-08-20 07:47
          收起回复
            然而这对你的面试和技术的提升并没卵用
            开发中也不会这么写


            IP属地:湖北7楼2015-08-20 08:00
            回复
              不懂


              来自Android客户端8楼2015-08-20 08:33
              回复
                只有第一个a是全局变量,其他a都是临时变量,在下一个反大括号结束时,会交给垃圾回收器等待回收。
                如果要在下面两处访问全局的a,只能用this.a,因为只写a会当做临时变量a


                青铜星玩家
                百度移动游戏玩家均可认证(限百度账号),去领取
                活动截止:2100-01-01
                去徽章馆》
                IP属地:湖北10楼2015-08-20 20:16
                收起回复
                  词法作用域都不同


                  来自Android客户端11楼2015-08-20 20:44
                  收起回复