永发信息网

什么是分类变量,类变量和实例变量的区别是什么?

答案:1  悬赏:20  手机版
解决时间 2021-08-19 16:31
什么是分类变量,类变量和实例变量的区别是什么?
最佳答案
类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;区别在于:类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;例:public class A{
static int a = 0; //类变量
private int b = 0; //实力变量}public class B{
public void main (String[] args){
A a1 = new A();
A a2 = new A();
a1.a = 3; // 等同于 A.a = 3;a1.b = 4 ;System.out.println(a2.a); //结果为3
//类变量是针对所有对象的,所以a1改变a,a2的a也改变
System.out.println(a2.b); //结果为0
//实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量}}类变量又叫静态成员变量,它不需要创建对象就可以已经在内存中存在了。
类就像一份说明书,说明这种类的实例对象的规格。而在创建实例对象的时候,内存中会为每一个实例对象的每一个非静态成员变量开辟一段内存空间,用来存储这个对象所有的非静态成员变量值。即使两个不同的实例对象是属于同一个class类,但是它们的同名非静态成员变量在内存中占用的空间是不同的。
而静态成员变量也就是类变量不同。所有的实例对象都共用一个类变量,内存中只有一处空间是放这个类变量值的。因此,如果一个对象把类变量值改了,另外一个对象再取类变量值就是改过之后的了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
苍溪到八庙镇多少公里,苍溪到广元高速路线多
主持人吴鹏程杰哪去了?
用简便方法怎样计算23乘以17减去17乘以23
魔法师这套时装好看吗
谁能给我玩个海外问道的号
竖心旁右边加一个寸 这是什么字 读音是什么
谁会解梦啊?我梦到自己突然有个女儿!竟然连
淅川县南阳郑湾社区居委会卫生所这个地址在什
干锅系列的菜品对身体有无害?
跟诚信有关的名人名言,与时间有关的名言
破军门前期都学什么技能
衡阳距离凤凰古城多远,武汉到衡阳铁路多少公
谁给个dnf剑魂号
非展览区域,请勿入内“英文怎么翻译呢?正式一
我找到了那个可爱的我爱罗。
推荐资讯
欧元怎么读英语怎么说,欧元用英语怎么读?
电视秘果上的经典语录,左耳和秘果有关系吗
北京海淀去哪买手机价格比较便宜质量又有保证
还有多少人曾记得那个无所不能的 AI ?
画沙是什么意思?
大侠,介绍几部恐怖电影看看。
[(2^31+2^39)*(-3)^2]/[(2^30+2^28)*3^2]
我的主板有超频软件么?
asp 分页搜索时,第二页出问题
龙亭区开封艺扬绘画艺术学校西郊教学点地址在
岳阳县岳阳爱宝贝童装地址在哪里啊
松滋市荆州袁妈砂锅串串(松滋旗舰店)地址在哪
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?