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

是不是static修饰的变量可以更改?

在HelloWorld这个类中定义了static string hobby= "imooc"

这个类有一个对象hello,看下面代码:

System.out.println(HelloWorld.hobby);

System.out.println(hello.hobby);

hello.hobby="爱慕课";

System.out.println(HelloWorld.hobby);

输出结果为immoc

                imooc

                爱慕课

请问是不是这个变量只要随便 HelloWorld.hobby或者Hello.hobby这两个其中一个赋值改变,变量 hobby的值都会变?

正在回答

3 回答

是的,因为hobby这个变量使用static修饰的,所以可以通过类名直接访问(HelloWorld.hobby),创建对象肯定可以访问。

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

心中的她 提问者

请问是不是这个变量只要随便 HelloWorld.hobby或者Hello.hobby这两个其中一个赋值改变,变量 hobby的值都会变?
2016-01-31 回复 有任何疑惑可以回复我~
#2

心中的她 提问者

非常感谢!
2016-01-31 回复 有任何疑惑可以回复我~
#3

qq_哥特低调走红_0 回复 心中的她 提问者

因为hobby这个变量是用static定义的,也就是说这个变量被定义为了静态变量,所以可以通过类名.变量名来调用(HelloWorld.hobby);当然也可以通过new对象来调用。如果这不是静态变量,那么只能通过new对象来调用。....所以,是的,对于hobby这个静态变量来说,两种方法都可以改变它的值。
2016-02-06 回复 有任何疑惑可以回复我~

常量才是不可修改的,用final修饰。

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

请问是不是这个变量只要随便 HelloWorld.hobby或者Hello.hobby这两个其中一个赋值改变,变量 hobby的值都会变?刚刚描述不清楚

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

举报

0/150
提交
取消

是不是static修饰的变量可以更改?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信