i请问为什么一个成员变量加static就可以被方法直接访问了?

 我来答
shxuen
推荐于2017-11-06 · TA获得超过116个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:123万
展开全部
static表示只创建一个变量,所以使用类名.变量名即可。即使使用对象.变量名的话,那么一个对象的static变量改变,其他的也会跟着变。究其最根本原因的话,要说到内存了。是否被static修饰,创建是的位置不一样,static是在全局数据区,不被static修饰是在堆栈里面
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
不倒翁_白痴
2013-01-12 · TA获得超过283个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:133万
展开全部
关键问题不在直接访问上,而在于程序中到底保存了多少个这个变量的副本:
1. 如果是非static成员,那么类的每一个对象都会保存一份副本,这些副本相互独立。
2. 如果加了static,那么就变成了类变量,也就是说跟类本身,而不是类的对象绑定在一起,这样的话,整个程序中就只有一个副本。这样其实是不好的,因为任意一个类的对象,都可以对这个副本进行修改,违背了数据封装的原则,所以,一般static关键字都是和final关键字一起使用的,这样能够保证整个程序的运行过程中不会对他进行修改,而只是读取这个值,这样就不会违背数据封装的原则了。

同学,你是在复习是吧==!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wskfhvhc
2013-01-12 · TA获得超过692个赞
知道小有建树答主
回答量:307
采纳率:66%
帮助的人:302万
展开全部
如果在同一个类中,这个方法要访问内部的成员变量,不用加static可以直接访问,如果给成员变量加了static修饰,这个变量就会变成类变量,可以通过 "类.变量名" 的形式直接访问
追问
请问直接访问就是指通过 "类.变量名" 的形式的意思??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1948a4a
2013-01-12 · 超过12用户采纳过TA的回答
知道答主
回答量:125
采纳率:0%
帮助的人:39.4万
展开全部
加了static表示是静态的,在程序运行时自动初始化,不用你手动操作,所以可以直接访问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happy2012zjh
2013-01-12 · TA获得超过273个赞
知道小有建树答主
回答量:1197
采纳率:100%
帮助的人:517万
展开全部
static方法可以直接访问static变量,但是是static方法不能访问非static变量或者方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式