java里static变量和非static变量有什么区别
答案:7 悬赏:80 手机版
解决时间 2021-03-26 16:45
- 提问者网友:未信
- 2021-03-25 23:07
java里static变量和非static变量有什么区别
最佳答案
- 五星知识达人网友:枭雄戏美人
- 2021-03-25 23:50
static 修饰的变量称为类变量或全局变量或成员变量,在类被加载的时候成员变量即被初始化,与类关联,只要类存在,static变量就存在。
一个static变量单独划分一块存储空间,不与具体的对象绑定在一起,该存储空间被类的各个对象所共享。
也就是说当声明一个对象是,并不产生static变量的拷贝,而是该类所有的实例对象共用同一个static变量。
非static修饰的成员变量是在对象new出来的时候划分存储空间,是与具体的对象绑定的,该成员变量仅为当前对象所拥有的。
对象在引用成员变量是直接通过类名.变量名调用,对象在引用实例变量时只能通过对象名.变量名调用。
在类中调用成员变量时直接调用或者以类名.变量名方式调用,实例变量则用this或者直接调用。
一个static变量单独划分一块存储空间,不与具体的对象绑定在一起,该存储空间被类的各个对象所共享。
也就是说当声明一个对象是,并不产生static变量的拷贝,而是该类所有的实例对象共用同一个static变量。
非static修饰的成员变量是在对象new出来的时候划分存储空间,是与具体的对象绑定的,该成员变量仅为当前对象所拥有的。
对象在引用成员变量是直接通过类名.变量名调用,对象在引用实例变量时只能通过对象名.变量名调用。
在类中调用成员变量时直接调用或者以类名.变量名方式调用,实例变量则用this或者直接调用。
全部回答
- 1楼网友:有你哪都是故乡
- 2021-03-26 05:36
被static修饰的变量 称为类变量或者静态变量,在类加载的时候就会被分配空间, 生命周期取决于类的生命周期. 实例变量也就是属于对象的, 在new对象的时候被分配空间,生命周期取决于对象也就是实例的生命周期.
- 2楼网友:痴妹与他
- 2021-03-26 04:32
静态 与 实例化
- 3楼网友:时间的尘埃
- 2021-03-26 04:10
static的变量是属于类的 所有的实例共享同一个static的变量
- 4楼网友:等灯
- 2021-03-26 03:12
static的变量是在类加载的时候在内存中单独分配出空间的 也就是说被static修饰的变量不能再2个新的类实例化对象出现不同的值的 因为只有一份内存空间.
- 5楼网友:白昼之月
- 2021-03-26 01:34
static变量可以单独存在,不需要依附对象,加载了类就能使用。(前提是访问权限)
- 6楼网友:毛毛
- 2021-03-26 00:16
static的变量 和c语言的全局变量意思差不多
普通的变量每一个类的实例都有只属于自己的那一份
而static的变量是属于类的 所有的实例共享同一个static的变量
普通的变量每一个类的实例都有只属于自己的那一份
而static的变量是属于类的 所有的实例共享同一个static的变量
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯