黑马程序员技术交流社区
标题:
帮忙解答下
[打印本页]
作者:
hlh
时间:
2016-5-8 00:24
标题:
帮忙解答下
public class Test {
public static void main(String[] args) {
MyClass myClass1 = new MyClass();
MyClass myClass2 = new MyClass();
System.out.println(myClass1.i);
System.out.println(myClass1.j);
System.out.println(myClass2.i);
System.out.println(myClass2.j);
}
}
class MyClass {
public final double i = Math.random();
public static double j = Math.random();
}
这里的final修饰的常量i为什么变化了?哪位大神能帮忙解答一下啊
作者:
土豆你个马铃薯
时间:
2016-5-8 01:19
没改变啊,你创建的是两个对象,随机给出了两个对应的值
作者:
hlh
时间:
2016-5-8 02:24
土豆你个马铃薯 发表于 2016-5-8 01:19
没改变啊,你创建的是两个对象,随机给出了两个对应的值
光顾着想常量去了 以为random是创建的同一个对象
作者:
小K哥
时间:
2016-5-8 08:26
你这是实例变量不是静态变量,对象独享实例变量,静态变量才被对象共享,你这里有两个对象,那肯定值不一样啦。
作者:
Love丶cd
时间:
2016-5-8 08:47
亲,程序猿一定要细心哦,你实例化了两个MyClass对象,里边的i对象自然会随机的分配两个不同的或者相同的值。并不是i的值变了,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2