国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java變量的區別淺析

2019-11-26 15:51:39
字體:
來源:轉載
供稿:網友
類變量也叫靜態變量,也就是在變量前加了static 的變量;
實例變量也叫對象變量,即沒加static 的變量;
兩者區別在于:
類變量(靜態變量)是所有對象共有,其中一個對象將它值改變,其他對象得到的就是改變后的結果,并且類變量是可以直接通過類名來調用的 如:A.xingS;
而實例變量則屬對象私有,某一個對象將其值改變,不影響其他對象,實例變量顧名思義是屬于實例的,所以只能通過實例來調用 如:A a=new A(); a.name;
舉個不太恰當的例子:類變量就好比一個人的姓氏,實例變量就相當于人的名字,如果它父親把姓改了,那它所有的兄弟姐妹姓都得改,但是它們的名字還是各用各的。
例:
復制代碼 代碼如下:

public class A{ 
static  int xingS = 0; //類變量  
private int name = 0; //實例變量  
String id; //實例變量 
private String colorType; //實例變量  
private int size; //實例變量  
private static String depart; //類變量   f
inal String name="zwm"; //常量
}
public class B{  
public void main (String[] args){      
A son1= new A();      
A son2= new A();      
son1.xingS = 3;  // 等同于
A.xingS = 3;      
son1.name = 4 ;      
System.out.println(son2.xingS); //結果為3      
//類變量是針對所有對象的,所以son1改變xingS,son2的a也改變      
System.out.println(son2.name); //結果為0      
//實例只改變自身的,所以son1對象的name改變,不影響對象son2的name變量 
}
}

類變量又叫靜態成員變量,它不需要創建對象就可以已經在內存中存在了,而在創建實例對象的時候,
內存中會為每一個實例對象的每一個非靜態成員變量開辟一段內存空間,用來存儲這個對象所有的非靜態成員變量值。
即使兩個不同的實例對象是屬于同一個class類,但是它們的同名非靜態成員變量在內存中占用的空間是不同的,
而靜態成員變量也就是類變量相同。所有的實例對象都共用一個類變量,內存中只有一處空間是放這個類變量值的。
因此,如果一個對象把類變量值改了,另外一個對象再取類變量值就是改過之后的了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宽城| 肃北| 平南县| 烟台市| 花莲市| 博白县| 成安县| 鸡西市| 南昌市| 银川市| 濉溪县| 扬中市| 綦江县| 蒲江县| 大冶市| 荔浦县| 射洪县| 武宁县| 古交市| 英吉沙县| 额济纳旗| 容城县| 克拉玛依市| 枞阳县| 古蔺县| 独山县| 积石山| 阳曲县| 阳泉市| 乐陵市| 雷州市| 湖北省| 屏南县| 明溪县| 遂平县| 泸州市| 和林格尔县| 曲周县| 长治县| 邵武市| 内江市|