黑马程序员技术交流社区

标题: 关于静态的问题 [打印本页]

作者: 郭军亮    时间: 2013-5-2 23:29
标题: 关于静态的问题
本帖最后由 郭军亮 于 2013-5-4 16:28 编辑

如果类中定义一个静态的变量,可以通过类的对象改变这个静态变量的值吗
作者: 吴传淦    时间: 2013-5-2 23:35
可以改变的。
public class Test2 {
        static int a = 1;
        public static void main(String[] args){
                System.out.println(a);
                Test2 b = new Test2();
                b.a = 2;
                System.out.println(a);
        }

}

作者: 孔令金    时间: 2013-5-2 23:35
当然可以。其实这种问题写几句代码测试一下就知道了。
作者: 花开花落总相似    时间: 2013-5-3 07:59
    可以改变的   如果不要改变 你可以定义一个 final类型的   嘻嘻
作者: 余雷    时间: 2013-5-3 12:53
当然可以,静态只是在类加载的时候变量就加载进内存了。如果这个变量被finale修饰,就不能改变了!
作者: 丁岩    时间: 2013-5-3 14:20
可以改变,顺便说一下楼上,如果被final修饰就不能改变了
作者: cclinall    时间: 2013-5-3 20:15
对象的静态成员被这个类的所有对象所共享,只要不被final修饰符修饰就可以被再赋值
作者: 崔龙飞    时间: 2013-5-3 20:37
可以赋值,1楼正解。但需要注意的是,当再调用全局变量时就是修改后的值。
类变量作为全局变量为所有的用户共享,一般不做改动。

另外也可以在类中直接赋值,还以1楼的代码解释吧。
public class Test2 {
        static int a = 1;
        public static void main(String[] args){
                a = 5;
                System.out.println(a);
        }
作者: 施祖喜    时间: 2013-5-3 22:08
可以通过类的对象改变这个静态变量的值,
但是改变这个值就改变了之后所建立对象的这个值,被静态修饰的都是对象所共有的,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2