永发信息网

java 中的问题,若能全部解释,给30分,若能让人全懂,再加10分

答案:2  悬赏:50  手机版
解决时间 2021-03-23 08:01
  • 提问者网友:情歌越听越心酸
  • 2021-03-22 18:31
java 中的问题,若能全部解释,给30分,若能让人全懂,再加10分
最佳答案
  • 五星知识达人网友:酒者煙囻
  • 2021-03-22 19:46
先给你解答第一个问题
不写在方法里面的变量叫做成员变量,也叫全局变量,定义了成员变量后,在同一个类里的每个方法都可以使用,而不局限在单个方法里,你的这个成员变量是用static修饰的,所以它是一个类变量,类变量资源共享,所以在第一次实例化后x+1后x=101,第二次实例化hs2.x++就是101+1=102,之后的hs1又实例化一次做++操作x=103,最后做--操作,最终结果为102。
第二个问题
这里你应该是指static{x+=5}吧,这个static表示这是个静态块,当虚拟机加载该类时,会先初始化它,有点类似构造方法,题中进行了两次static{ ... }操作,依次计算后x的值为3,最后输出了3

很简单的问题,写的有点繁琐,希望你会看懂
全部回答
  • 1楼网友:一叶十三刺
  • 2021-03-22 20:07
类HasStatic 中的私有变量x定义为100,函数中对于类又定义了2个方法hs1和hs2,并且在2个方法中都是对x进行自加,而最后调用的是hs1=new HasStatic();在这里又加了一次,后面减了一次,最后输出的时候也是加一次,结果就是102了。
变量有局部变量和全局变量,各自的定义区域不同。不在主方法的那个就是局部变量
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯