Java變量類型和修飾符實(shí)例分析

本文小編為大家詳細(xì)介紹“Java變量類型和修飾符實(shí)例分析”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Java變量類型和修飾符實(shí)例分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

舒城網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),舒城網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為舒城上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的舒城做網(wǎng)站的公司定做!

1.變量類型:

a.定義:

和C++差不多,就是:

type identifier [ = value][, identifier [= value] ...];

type為Java數(shù)據(jù)類型。identifier是變量名。可以使用逗號(hào)隔開來聲明多個(gè)同類型變量??梢月暶鞯毁x值。

b.類變量(靜態(tài)變量)static variable:

獨(dú)立于方法之外的變量,用 static 修飾。

無論一個(gè)類創(chuàng)建了多少個(gè)對(duì)象,類只擁有類變量的一份拷貝。

靜態(tài)變量在第一次被訪問時(shí)創(chuàng)建,在程序結(jié)束時(shí)銷毀。與實(shí)例變量具有相似的可見性。但為了對(duì)類的使用者可見,大多數(shù)靜態(tài)變量聲明為public類型。

靜態(tài)變量屬于類,該類不生產(chǎn)對(duì)象,通過類名就可以調(diào)用靜態(tài)變量。

c.局部變量(local variable):

和大多數(shù)語(yǔ)言一樣,只存在于作用域內(nèi)部的周期,函數(shù)或者方法運(yùn)行完就銷毀。(注意JAVA不會(huì)給局部變量默認(rèn)賦值,需要聲明的時(shí)候賦值)

d.實(shí)例變量(成員變量 member variable):

獨(dú)立于方法之外的變量,不過沒有 static 修飾。實(shí)例變量聲明在一個(gè)類中,但在方法、構(gòu)造方法和語(yǔ)句塊之外;

實(shí)例變量的值應(yīng)該至少被一個(gè)方法、構(gòu)造方法或者語(yǔ)句塊引用,使得外部能夠通過這些方式獲取實(shí)例變量信息;

實(shí)例變量具有默認(rèn)值。數(shù)值型變量的默認(rèn)值是0,布爾型變量的默認(rèn)值是false,引用類型變量的默認(rèn)值是null。變量的值可以在聲明時(shí)指定,也可以在構(gòu)造方法中指定;

實(shí)例變量屬于該類的對(duì)象,必須產(chǎn)生該類對(duì)象,才能調(diào)用實(shí)例變量。

2.修飾符:

 很多種類修飾符,主要分 非訪問修飾符和訪問修飾符:

a.訪問修飾符:

default (即默認(rèn),什么也不寫):

在同一包內(nèi)可見,不使用任何修飾符。大多數(shù)時(shí)候默認(rèn)跟public差不多的權(quán)限和繼承。

注意:和default 的不同就是public 意味著任何地方的其他類都能訪問,而默認(rèn)default只能在這個(gè)包內(nèi)使用。

private :

在同一類內(nèi)可見。最嚴(yán)格的的權(quán)限,只能給所處的類使用,甚至子類們也不能使用,也不能繼承。   

注意:不能修飾類(外部類)

public :

對(duì)所有類可見。

注意:和default 的不同就是public 意味著任何地方的其他類都能訪問,而默認(rèn)default只能在這個(gè)包內(nèi)使用。

protected :

對(duì)同一包內(nèi)的類和所有子類可見。

子類與基類在同一包中:被聲明為 protected 的變量、方法和構(gòu)造器能被同一個(gè)包中的任何其他類訪問;

子類與基類不在同一包中:那么在子類中,子類實(shí)例可以訪問其從基類繼承而來的 protected 方法,而不能訪問基類實(shí)例的protected方法。

注意:不能修飾類(外部類)。

注意:

父類中聲明為 public 的方法在子類中也必須為 public。

父類中聲明為 protected 的方法在子類中要么聲明為 protected,要么聲明為 public,不能聲明為 private。

父類中聲明為 private 的方法,不能夠被繼承。

 b.非訪問修飾符:

static:

分靜態(tài)變量和靜態(tài)方法,靜態(tài)變量見本文上面。

靜態(tài)方法:static關(guān)鍵字用來聲明獨(dú)立于對(duì)象的靜態(tài)方法。靜態(tài)方法不能使用類的非靜態(tài)變量。靜態(tài)方法從參數(shù)列表得到數(shù)據(jù),然后計(jì)算這些數(shù)據(jù)。(靜態(tài)變量已經(jīng)在內(nèi)存中,而非靜態(tài)得等到他們聲明的時(shí)候才有)

靜態(tài)方法可以通過類名直接調(diào)用,而不需要實(shí)例化類的對(duì)象。這樣一些工具類里聲明靜態(tài)方法,用起來就比較方便。

final:

final 表示"最后的、最終的"含義,變量一旦賦值后,不能被重新賦值。也分變量和方法。

被 final 修飾的實(shí)例變量必須顯式指定初始值。final 修飾符通常和 static 修飾符一起使用來創(chuàng)建類常量。

父類中的 final 方法可以被子類繼承,但是不能被子類重寫。

聲明 final 方法的主要目的是防止該方法的內(nèi)容被修改。

abstract :

抽象類不能用來實(shí)例化對(duì)象,聲明抽象類的唯一目的是為了將來對(duì)該類進(jìn)行擴(kuò)充。一個(gè)類不能同時(shí)被 abstract 和 final 修飾。如果一個(gè)類包含抽象方法,那么該類一定要聲明為抽象類,否則將出現(xiàn)編譯錯(cuò)誤。

抽象方法是一種沒有任何實(shí)現(xiàn)的方法,該方法的的具體實(shí)現(xiàn)由子類提供。抽象方法不能被聲明成 final 和 static。

任何繼承抽象類的子類必須實(shí)現(xiàn)父類的所有抽象方法,除非該子類也是抽象類。

如果一個(gè)類包含若干個(gè)抽象方法,那么該類必須聲明為抽象類。抽象類可以不包含抽象方法。

synchronized :

synchronized 關(guān)鍵字聲明的方法同一時(shí)間只能被一個(gè)線程訪問。synchronized 修飾符可以應(yīng)用于四個(gè)訪問修飾符。

transient :

序列化的對(duì)象包含被 transient 修飾的實(shí)例變量時(shí),java 虛擬機(jī)(JVM)跳過該特定的變量。

該修飾符包含在定義變量的語(yǔ)句中,用來預(yù)處理類和變量的數(shù)據(jù)類型。

volatile:

volatile 修飾的成員變量在每次被線程訪問時(shí),都強(qiáng)制從共享內(nèi)存中重新讀取該成員變量的值。而且,當(dāng)成員變量發(fā)生變化時(shí),會(huì)強(qiáng)制線程將變化值回寫到共享內(nèi)存。這樣在任何時(shí)刻,兩個(gè)不同的線程總是看到某個(gè)成員變量的同一個(gè)值。

一個(gè) volatile 對(duì)象引用可能是 null。

讀到這里,這篇“Java變量類型和修飾符實(shí)例分析”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:Java變量類型和修飾符實(shí)例分析
文章路徑:http://muchs.cn/article4/ijojoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、ChatGPT、App設(shè)計(jì)、定制網(wǎng)站、網(wǎng)站改版品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)