为了账号安全,请及时绑定邮箱和手机立即绑定

static静态变量不就是成员变量吗

static静态变量不就是成员变量吗

爱上明早 2016-07-31 17:42:54
static静态变量除了调用时候有点不一样以外,跟成员变量也没有什么区别啊
查看完整描述

5 回答

?
Goddess_chkx

TA贡献15条经验 获得超30个赞

先讲变量,java里有两种变量,成员变量和局部变量,成员变量描述的是类的属性,局部变量描述的是方法内需要的数据。成员变量又分两种(文字太枯燥了就画一下它们的关系,嘻嘻…)一种是没有static的,我们叫它实例变量;一种是有static的,我们叫它类变量,或静态变量。
然后讲static,我也是刚学过static不久,总结了一下,有如下要记的,姑且称它为3+1吧!
1.它是干什么的嘞:书上说,被static修饰的东西是属于整个类的,希望该类所有的对象都能享受到(你也可以理解为使用到)这个被static修饰的东西(先记下来,嘻嘻)。
2.它有一个特色:什么特色呢?它既可以通过类名直接调用(跳过创建对象),也可以通过对象名调用,厉害吧!
3.这个不太好讲,是关于static修饰静态方法的。
我们刚刚说了,成员变量有两种(手机打字好累,自己翻上去看),方法也有两种,一种是有static修饰的,我们叫它静态方法,一种是没有static修饰的,我们叫它实例方法。重点来了,静态方法有访问静态变量和实例变量两种情况,实例方法也有两种情况,那它们共有几种情况呢...答案是4种
注意:只有一种情况是不能直接访问的,静态变量访问实例变量,
——————————————————————————
我先写到这,太晚了,宝宝要睡了,下次补完。

查看完整回答
1 反对 回复 2016-08-01
?
ziom

TA贡献948条经验 获得超1109个赞

静态变量属于类,普通成员变量属于对象。静态变量也是可以通过对象调用的(虽然不推荐),但是任意对象调用的静态成员都是同一个,而不同对象调用的普通成员则是各不相同的 

查看完整回答
1 反对 回复 2016-07-31
  • 爱上明早
    爱上明早
    额……普通成员不是也可以在创建的任意对象调用没
  • ziom
    ziom
    两者都可以被对象调用,但是普通成员是独属于某个对象的,比如你创建对象的时候如果调用的是有参构造,那传入的参数就是给成员变量赋值对不对?这样在对象名.变量名的时候访问的是创建时你传入的相应值。静态成员一般是不会在创建对象的时候通过构造参数去改变它的值的,因为静态成员属于类,因此可以把静态成员不太恰当的理解为任何对象都具有的特质。
  • 爱上明早
    爱上明早
    哦!好像明白了,太感谢了
?
爱上明早

TA贡献1条经验 获得超0个赞

不用static修饰也是被所有对象共享啊!用不用static修饰都一样啊

查看完整回答
反对 回复 2016-07-31
  • a5320228
    a5320228
    静态变量随类加载而加载,那时候有可能对象还没创建
  • 5 回答
  • 0 关注
  • 2532 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信