欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java變量的區(qū)別淺析

 更新時(shí)間:2013年12月08日 16:59:57   作者:  
對(duì)于java的變量天天見到,但有時(shí)候別人問起它們的區(qū)別有時(shí)候也說不全,所以就找了些資料整理了整理...
類變量也叫靜態(tài)變量,也就是在變量前加了static 的變量;
實(shí)例變量也叫對(duì)象變量,即沒加static 的變量;
兩者區(qū)別在于:
類變量(靜態(tài)變量)是所有對(duì)象共有,其中一個(gè)對(duì)象將它值改變,其他對(duì)象得到的就是改變后的結(jié)果,并且類變量是可以直接通過類名來調(diào)用的 如:A.xingS;
而實(shí)例變量則屬對(duì)象私有,某一個(gè)對(duì)象將其值改變,不影響其他對(duì)象,實(shí)例變量顧名思義是屬于實(shí)例的,所以只能通過實(shí)例來調(diào)用 如:A a=new A(); a.name;
舉個(gè)不太恰當(dāng)?shù)睦樱侯愖兞烤秃帽纫粋€(gè)人的姓氏,實(shí)例變量就相當(dāng)于人的名字,如果它父親把姓改了,那它所有的兄弟姐妹姓都得改,但是它們的名字還是各用各的。
例:
復(fù)制代碼 代碼如下:

public class A{ 
static  int xingS = 0; //類變量  
private int name = 0; //實(shí)例變量  
String id; //實(shí)例變量 
private String colorType; //實(shí)例變量  
private int size; //實(shí)例變量  
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); //結(jié)果為3      
//類變量是針對(duì)所有對(duì)象的,所以son1改變xingS,son2的a也改變      
System.out.println(son2.name); //結(jié)果為0      
//實(shí)例只改變自身的,所以son1對(duì)象的name改變,不影響對(duì)象son2的name變量 
}
}

類變量又叫靜態(tài)成員變量,它不需要?jiǎng)?chuàng)建對(duì)象就可以已經(jīng)在內(nèi)存中存在了,而在創(chuàng)建實(shí)例對(duì)象的時(shí)候,
內(nèi)存中會(huì)為每一個(gè)實(shí)例對(duì)象的每一個(gè)非靜態(tài)成員變量開辟一段內(nèi)存空間,用來存儲(chǔ)這個(gè)對(duì)象所有的非靜態(tài)成員變量值。
即使兩個(gè)不同的實(shí)例對(duì)象是屬于同一個(gè)class類,但是它們的同名非靜態(tài)成員變量在內(nèi)存中占用的空間是不同的,
而靜態(tài)成員變量也就是類變量相同。所有的實(shí)例對(duì)象都共用一個(gè)類變量,內(nèi)存中只有一處空間是放這個(gè)類變量值的。
因此,如果一個(gè)對(duì)象把類變量值改了,另外一個(gè)對(duì)象再取類變量值就是改過之后的了。

相關(guān)文章

  • Java測(cè)試題 實(shí)現(xiàn)一個(gè)注冊(cè)功能過程解析

    Java測(cè)試題 實(shí)現(xiàn)一個(gè)注冊(cè)功能過程解析

    這篇文章主要介紹了Java測(cè)試題 實(shí)現(xiàn)一個(gè)注冊(cè)功能過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java實(shí)現(xiàn)樹形結(jié)構(gòu)的示例代碼

    Java實(shí)現(xiàn)樹形結(jié)構(gòu)的示例代碼

    由于業(yè)務(wù)需要,后端需要返回一個(gè)樹型結(jié)構(gòu)給前端,包含父子節(jié)點(diǎn)的數(shù)據(jù)已經(jīng)在數(shù)據(jù)庫(kù)中存儲(chǔ)好。本文將為大家分享Java現(xiàn)樹形結(jié)構(gòu)的示例代碼,需要的可以參考下
    2022-05-05
  • Java8中Stream的使用方式

    Java8中Stream的使用方式

    這篇文章主要介紹了Java8中Stream的使用方式,文章通過Stream的創(chuàng)建展開詳細(xì)的介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • 如何獲取Maven項(xiàng)目的版本號(hào)

    如何獲取Maven項(xiàng)目的版本號(hào)

    最近需要在項(xiàng)目中獲取項(xiàng)目的版本號(hào),最笨的方法莫過于硬編碼一個(gè)版本號(hào),當(dāng)然之前我也是這么干的。不過閑下來的時(shí)候突發(fā)奇想Spring Boot項(xiàng)目中pom.xml定義的版本號(hào)(也就是project.version的值)能不能通過API獲得呢?于是利用摸魚的時(shí)間研究了這種無聊透頂?shù)臇|西。
    2021-05-05
  • java面向?qū)ο蟮牧瓌t一法則小結(jié)

    java面向?qū)ο蟮牧瓌t一法則小結(jié)

    本篇文章主要對(duì)java面向?qū)ο蟮牧瓌t一法則進(jìn)行簡(jiǎn)要說明,具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • 深入理解Java設(shè)計(jì)模式之享元模式

    深入理解Java設(shè)計(jì)模式之享元模式

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之享元模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2021-11-11
  • RocketMQ整合SpringBoot實(shí)現(xiàn)生產(chǎn)級(jí)二次封裝

    RocketMQ整合SpringBoot實(shí)現(xiàn)生產(chǎn)級(jí)二次封裝

    本文主要介紹了RocketMQ整合SpringBoot實(shí)現(xiàn)生產(chǎn)級(jí)二次封裝,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Java使用Jedis操作Redis服務(wù)器的實(shí)例代碼

    Java使用Jedis操作Redis服務(wù)器的實(shí)例代碼

    本篇文章主要介紹了Java使用Jedis操作Redis服務(wù)器的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java讀取TXT文件內(nèi)容的方法

    Java讀取TXT文件內(nèi)容的方法

    本篇文章主要介紹了Java讀取TXT文件內(nèi)容的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • java list隨機(jī)抽取元素的案例

    java list隨機(jī)抽取元素的案例

    這篇文章主要介紹了java list隨機(jī)抽取元素的案例,具有很好的參考,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評(píng)論