java里static变量和非static变量有什么区别

 我来答
濮望亭年婵
2019-06-06 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:25%
帮助的人:969万
展开全部
1.
static
修饰的变量称为类变量或全局变量或裤伍成员变量,在类被加载的时候成员变量即被初始化,与类关联,只要类存在,static变量就存在。
2.
一个static变量单独划分一块存储空间,不与具体的对皮激象绑定在一起燃纯袜,该存储空间被类的各个对象所共享。
3.
也就是说当声明一个对象是,并不产生static变量的拷贝,而是该类所有的实例对象共用同一个static变量。
4.
非static修饰的成员变量是在对象new出来的时候划分存储空间,是与具体的对象绑定的,该成员变量仅为当前对象所拥有的。
5.
对象在引用成员变量是直接通过类名.变量名调用,对象在引用实例变量时只能通过对象名.变量名调用。
6.
在类中调用成员变量时直接调用或者以类名.变量名方式调用,实例变量则用this或者直接调用。
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
督秀珍施己
2019-06-08 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:33%
帮助的人:903万
展开全部
static是为了将某个成员变量/方法关联到类(class)而非实例(instance)。
你不简唯需要创建一个对象就可以直接使用这个类的static成员,
在a类中调用b类的static成员可以使用b.staticmember的写法。
注意一个类的static成员变量是唯一的,被拦局培所有该类对象所共享的。
比如说有一个类dog;
属性:clolor,狗狗可以有好多颜腊肢色;
munberoflegs
=4
每只狗狗只有4条腿,这个就应该是静态的;
静态的属性不依赖于类的存在而存在,简单说,你可以定义
dog
dog1
=
new
dog();
dog
dog2
=
new
dog();
dog
dog3
=
new
dog();
这里定义了三条狗狗,狗狗的颜色依赖于类本身,即dog1,dog2,dog3;三条狗狗可以有不同的颜色;
而狗狗的腿的数量不依赖于dog1,dog2,dog3;所有的狗狗都是4条腿
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郎秀英费缎
2020-05-05 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1119万
展开全部
1,被static修饰的属性和方法属于类
而不是属于颂袭哪一个特定的对象,可以说碧埋属于所有的对象
2,static块在classloader加载的时候就会执行野慧兄
被static修饰的东西放在方法区
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式