开发者社区> 问答> 正文

java中类定义的变量和类方法里面定义的变量有什么区别和联系

java中类定义的变量和类方法里面定义的变量有什么区别和联系为什么要再方法当中定义变量,统一在类里面,方法外面定义变量不是更方便快捷么

展开
收起
蛮大人123 2016-05-27 13:58:27 4944 0
3 条回答
写回答
取消 提交回答
  • 类里面的变量在整个类里都可以访问到,方法里的变量只能方法里能访问到,可见范围不一样。 如果是多线程的话,类里面的变量可能会引发线程安全的问题,而方法里的变量不会,因为方法里的变量是在线程栈上的,每个线程都是互相独立的。
    2019-07-17 19:17:43
    赞同 展开评论 打赏
  • 生命周期不同,类变量在整个类的生命周期中都可访问,而方法变量只是在这个方法调用的生命周期中可以使用。常见的错误就是把方法的变量放到类里,但是在方法里面修改了类变量的值,另外一个方法用到的时候如果没做判断就会出错。所以最好是控制变量的生命周期,能放到方法里就不要放到类里。

    2019-07-17 19:17:43
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    类种定义的变量是类的成员变量,在所有的类方法中都可以用的,即作用域是所有的类方法;而某个方法中定义的是局部变量,只能在相应的方法体中被访问的。成员变量是类的属性信息,其定义需视需求而定的,有些方法中临时用到的局部变量可能不能作为类成员的。

    2019-07-17 19:17:42
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载