請(qǐng)問靜態(tài)變量和成員變量之間有什么不同??

再去西藏
2014-11-22
9 回答
舉報(bào)
0/150
提交
取消
2014-11-24
1.靜態(tài)成員變量是屬于整個(gè)類的全局變量,它不單屬于某一個(gè)對(duì)象;普通成員變量是屬于類中的對(duì)象,它不能被所有對(duì)象共享。
2.靜態(tài)成員變量必須在全局進(jìn)行定義,而由于普通成員變量在創(chuàng)建一個(gè)對(duì)象的時(shí)候可以對(duì)它進(jìn)行初始化,因此就不需要單獨(dú)對(duì)它進(jìn)行定義,只要聲明即可。
3.靜態(tài)成員變量在沒有對(duì)象之前就存在。
2017-02-12
通俗來講,多個(gè)靜態(tài)變量都分配在同一位置,一個(gè)改變其他都會(huì)改變;
而多個(gè)成員變量分別分配在不同位置,一個(gè)改變其他不受影響
2017-02-12
1.public class HelloWorld{
String var ="i love math";
public static void main(String[] args){
HelloWorld a =new HelloWorld();
HelloWorld b =new HelloWorld();
a.var ="我喜歡數(shù)學(xué)";
System.out.println(a.var);
System.out.println(b.var);
}
}
輸出:
我喜歡數(shù)學(xué)
i love math
2.
public class HelloWorld{
static String var ="i love math";
public static void main(String[] args){
HelloWorld a =new HelloWorld();
HelloWorld b =new HelloWorld();
a.var ="我喜歡數(shù)學(xué)";
System.out.println(a.var);
System.out.println(b.var);
}
}
輸出:
我喜歡數(shù)學(xué)
我喜歡數(shù)學(xué)
2017-01-24
我個(gè)人是這樣理解的:
類是封裝對(duì)象屬性和行為的載體
屬性:成員變量 行為:成員方法
成員變量又分為:1.普通成員變量 屬于對(duì)象 用對(duì)象.普通成員變量名調(diào)用 2.靜態(tài)成員變量 屬于類 用類名.靜態(tài)變量名來調(diào)用
成員方法:普通成員方法和靜態(tài)成員方法 調(diào)用方法同上
個(gè)人理解,歡迎大神指點(diǎn)
2016-10-06
public class HelloWorld {
? ? ? ?static String className = "靜態(tài)";//聲明個(gè)靜態(tài)變量
? ? ? ? String cheng="成員";//聲明個(gè)成員變量
public static void main(String[] args) {
? ? ? ? HelloWorld n=new HelloWorld();//創(chuàng)建兩個(gè)對(duì)象以便于比較
? ? ? ? HelloWorld v=new HelloWorld();
? ?//從下面這段代碼可以看出只要一個(gè)對(duì)象把靜態(tài)變量的值變了,那所有的對(duì)象的都跟著變,這就是所謂的全員共享
? ? ? ? System.out.println(n.className); //輸出結(jié)果:靜態(tài)
? ? ? ? System.out.println(v.className); //輸出結(jié)果:靜態(tài)
? ? ? ? n.className="靜態(tài)2";
? ? ? ? System.out.println(n.className);//輸出結(jié)果:靜態(tài)2
? ? ? ? System.out.println(v.className);//輸出結(jié)果:靜態(tài)2
? ? ? ? //從下面這段代碼可以看出對(duì)象n只能改變自己關(guān)于成員變量的值,改變不了別的對(duì)象關(guān)于成員變量的值
? ? ? ? System.out.println(n.cheng);//輸出結(jié)果:成員
? ? ? ? System.out.println(v.cheng);//輸出結(jié)果:成員
? ? ? ? n.cheng="成員2";
? ? ? ? System.out.println(n.cheng);//輸出結(jié)果:成員2
? ? ? ? System.out.println(v.cheng);//輸出結(jié)果:成員
? //原因是因?yàn)椴煌瑢?duì)象關(guān)于成員變量的值在內(nèi)存中儲(chǔ)存的位置不同
? //但靜態(tài)的大家都是在同一個(gè)地方儲(chǔ)存,所以一個(gè)變,其他的都跟著變了
}
}
2015-07-30
對(duì)貢獻(xiàn)做一下補(bǔ)充
比如一個(gè)沒有加Static的成員變量,如果想用構(gòu)造函數(shù)中的this去調(diào)用,是不行的,因?yàn)槌蓡T變量是針對(duì)每一個(gè)對(duì)象而言的,只有加了static這個(gè)成員變量才能被this所調(diào)用
2015-07-26
THX
2015-03-23
靜態(tài)變量由類名直接調(diào)用
2014-11-25
補(bǔ)充一下
第二點(diǎn)這里是將靜態(tài)變量可以看作全局變量看待,擁有全局變量的特性
第三點(diǎn)這里是說靜態(tài)變量在類加載的時(shí)候就已經(jīng)存在了