课程
/后端开发
/Java
/Java入门第二季
这是为啥呢?
2019-02-11
源自:Java入门第二季 7-7
正在回答
static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
1、静态变量理解为类的变量,在类初始化时就生成了(在创建实例之前)
2、成员变量(在创建实例,就也就是构造函数执行时初始化)
3、静态变量为类、实例所共享,共同修改
4、成员变量为实例所有,不同实例之前无法共享
看错了
random不是静态变量,不能直接被静态方法所调用,你需要在静态方法StaticTest中创建一个对象,然后用对象再对random进行操作
我补充下我刚才的回答,就是说:静态变量在他所属类初始加载时就会分配一个地址,无论以后他所属的类重新加载多少次都是这个地址不变了。但是非静态变量的话就是创建对象的时候会重新多分配一个地址。
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
3 回答类中,静态变量跟非静态变量有什么不同?
2 回答静态变量和成员变量有什么不同
1 回答使用对象名的形式更改静态变量的值会更改类中的静态变量的值吗,也就是说这个静态变量不只是更改这个对象中的值
4 回答为什么定义静态变量 sum会提示表达式不和法???
1 回答为什么我不能定义静态变量
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号