A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭军亮 中级黑马   /  2013-5-2 23:29  /  1638 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郭军亮 于 2013-5-4 16:28 编辑

如果类中定义一个静态的变量,可以通过类的对象改变这个静态变量的值吗

8 个回复

正序浏览
可以通过类的对象改变这个静态变量的值,
但是改变这个值就改变了之后所建立对象的这个值,被静态修饰的都是对象所共有的,
回复 使用道具 举报
可以赋值,1楼正解。但需要注意的是,当再调用全局变量时就是修改后的值。
类变量作为全局变量为所有的用户共享,一般不做改动。

另外也可以在类中直接赋值,还以1楼的代码解释吧。
public class Test2 {
        static int a = 1;
        public static void main(String[] args){
                a = 5;
                System.out.println(a);
        }
回复 使用道具 举报
对象的静态成员被这个类的所有对象所共享,只要不被final修饰符修饰就可以被再赋值
回复 使用道具 举报
可以改变,顺便说一下楼上,如果被final修饰就不能改变了
回复 使用道具 举报
当然可以,静态只是在类加载的时候变量就加载进内存了。如果这个变量被finale修饰,就不能改变了!
回复 使用道具 举报
    可以改变的   如果不要改变 你可以定义一个 final类型的   嘻嘻
回复 使用道具 举报
当然可以。其实这种问题写几句代码测试一下就知道了。
回复 使用道具 举报
可以改变的。
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);
        }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马