No.5修飾符

java中的修飾符有四種:

  • 默認(rèn)的裹驰,也稱為default,在同一包內(nèi)可見片挂,不使用任何修飾符幻林。
  • 私有的,以private修飾符指定音念,在同一類內(nèi)可見沪饺。
  • 共有的,以public修飾符指定症昏,對(duì)所有類可見随闽。
  • 受保護(hù)的父丰,以protected修飾符指定肝谭,對(duì)同一包內(nèi)的類和所有子類可見。
    protected修飾符比default的權(quán)限要大蛾扇,子類指的是攘烛,同一包,或者其他包中的一切子類镀首。
    private<default<protected<public

訪問控制和繼承原則

請(qǐng)注意以下方法繼承的規(guī)則:

  • 父類中聲明為public的方法在子類中也必須為public坟漱。
  • 父類中聲明為protected的方法在子類中要么聲明為protected,要么聲明為public更哄。不能聲明為private芋齿。
    子類方法,變量的修飾符必須大于等于父類的方法成翩,變量的修飾符
    但是也有特例:
  • 父類中默認(rèn)修飾符default聲明的方法觅捆,能夠在子類中聲明為private。
  • 父類中聲明為private的方法麻敌,不能夠被繼承栅炒。

非訪問修飾符
  • static修飾符,用來創(chuàng)建類方法和類變量。
  • Final修飾符赢赊,用來修飾類乙漓、方法和變量,
    (1) 修飾的類不能夠被繼承释移;
    (2) 修飾的方法叭披,可以被繼承,不能被繼承類覆寫玩讳,可以被重載趋观;
    (3) 修飾的變量為常量,是不可修改的锋边。
  • Abstract修飾符皱坛,用來創(chuàng)建抽象類和抽象方法。
  • Synchronized和volatile修飾符豆巨,主要用于線程的編程剩辟。
    被private修飾的方法和被final修飾的方法不同:
  • private聲明的方法不能被繼承。
  • final修飾的方法不能被重寫往扔,可以被繼承贩猎。

類訪問修飾符:
  • 可訪問控制符是:公共類修飾符public。
  • 非訪問控制符有:抽象類修飾符abstract萍膛;最終類修飾符final吭服。
  • 類缺省訪問控制符:如果一個(gè)類沒有訪問控制符,說明它具有缺省的訪問控制符特性蝗罗。此時(shí)艇棕,這個(gè)類只能被同一個(gè)包中的類訪問或引用。這一訪問特性又稱為包訪問性串塑。
接口訪問修飾符:
  • 可訪問控制符是:公共類修飾符public沼琉。
  • 非訪問控制符有:抽象類修飾符abstract。

Static修飾符

被static修飾的變量和方法在內(nèi)存中單獨(dú)開辟一塊區(qū)域桩匪〈虮瘢可以通過"類名.局部變量名";"類名.方法名"來訪問傻昙。

  • 修飾變量(靜態(tài)變量):
    Static關(guān)鍵字用來聲明獨(dú)立于對(duì)象的靜態(tài)變量闺骚,無論一個(gè)類實(shí)例化多少對(duì)象,它的靜態(tài)變量只有一份拷貝妆档。 靜態(tài)變量也被成為類變量僻爽。局部變量能被聲明為static變量。

  • 修飾方法(靜態(tài)方法):
    Static關(guān)鍵字用來聲明獨(dú)立于對(duì)象的靜態(tài)方法过吻。靜態(tài)方法不能使用類的非靜態(tài)變量进泼。靜態(tài)方法從參數(shù)列表得到數(shù)據(jù)蔗衡,然后計(jì)算這些數(shù)據(jù)。


Final修飾符
  • Final變量(常量):
    (1)Final變量能被顯式地初始化并且只能初始化一次乳绕。
    (2)被聲明為final的對(duì)象的引用不能指向不同的對(duì)象绞惦。
    (3)final對(duì)象的引用不能改變,但是對(duì)象本身內(nèi)容可以改變洋措。
    (4)Final修飾符通常和static修飾符一起使用來創(chuàng)建類常量济蝉。
  • Final方法(最終方法)
    類中的Final方法可以被子類繼承,但是不能被子類修改菠发。
    聲明final方法的主要目的是防止該方法的內(nèi)容被修改王滤。
  • Final類(最終類)
    Final類不能被繼承,沒有類能夠繼承final類的任何特性滓鸠。
    被final修飾的類中的成員變量雁乡,類變量被隱式聲明為final變量,其值不可被改變糜俗。也就等同于常量踱稍。
final和static修飾的區(qū)別:
  • 修飾變量:
    (1)final和static可以同時(shí)修飾一個(gè)變量,表示類常量
    final static int A = 12悠抹;
    (2)final修飾的量為常量珠月,static修飾的變量為類變量
  • 修飾方法:
    (1)final修飾方法,該方法不可以被修改楔敌,但是可以被重載但不可以被覆寫啤挎。不可以被繼承。
    (2)static修飾的方法可以被修改卵凑,繼承庆聘,重載,覆寫氛谜;

Abstract修飾符
  • 抽象類:
    (1)抽象類不能用來實(shí)例化對(duì)象掏觉,聲明抽象類的唯一目的是為了將來對(duì)該類進(jìn)行擴(kuò)充。
    (2)一個(gè)類不能同時(shí)被abstract和final修飾值漫。
    (3)如果一個(gè)類包含抽象方法,那么該類一定要聲明為抽象類织盼,否則將出現(xiàn)編譯錯(cuò)誤杨何。
    (4)抽象類可以包含抽象方法和非抽象方法。
  • 抽象方法
    (1)抽象方法是一種沒有任何實(shí)現(xiàn)的方法沥邻,該方法的的具體實(shí)現(xiàn)由子類提供危虱。抽象方法不能被聲明成final和static。
    任何繼承抽象類的子類必須實(shí)現(xiàn)父類的所有抽象方法唐全,除非該子類也是抽象類埃跷。
    (2)如果一個(gè)類包含若干個(gè)抽象方法蕊玷,那么該類必須聲明為抽象類。抽象類可以不包含抽象方法弥雹。
    (3)抽象方法的聲明以分號(hào)結(jié)尾垃帅,例如:public abstract sample();

Synchronized修飾符

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


volatile修飾符

(1)Volatile修飾的成員變量在每次被線程訪問時(shí)剪勿,都強(qiáng)迫從共享內(nèi)存中重讀該成員變量的值贸诚。
(2)當(dāng)成員變量發(fā)生變化時(shí),強(qiáng)迫線程將變化值回寫到共享內(nèi)存厕吉。這樣在任何時(shí)刻酱固,兩個(gè)不同的線程總是看到某個(gè)成員變量的同一個(gè)值。
(3)一個(gè)volatile對(duì)象引用可能是null头朱。


Transient修飾符

(1)序列化的對(duì)象包含被transient修飾的實(shí)例變量時(shí)运悲,java虛擬機(jī)(JVM)跳過該特定的變量。
(2)該修飾符包含在定義變量的語(yǔ)句中项钮,用來預(yù)處理類和變量的數(shù)據(jù)類型扇苞。

  public transient int limit = 55;   // will not persist
  public int b; // will persist

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市寄纵,隨后出現(xiàn)的幾起案子鳖敷,更是在濱河造成了極大的恐慌,老刑警劉巖程拭,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件定踱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡恃鞋,警方通過查閱死者的電腦和手機(jī)崖媚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恤浪,“玉大人畅哑,你說我怎么就攤上這事∷桑” “怎么了荠呐?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)砂客。 經(jīng)常有香客問我泥张,道長(zhǎng),這世上最難降的妖魔是什么鞠值? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任媚创,我火速辦了婚禮,結(jié)果婚禮上彤恶,老公的妹妹穿的比我還像新娘钞钙。我一直安慰自己鳄橘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布芒炼。 她就那樣靜靜地躺著瘫怜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪焕议。 梳的紋絲不亂的頭發(fā)上宝磨,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音盅安,去河邊找鬼唤锉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛别瞭,可吹牛的內(nèi)容都是我干的窿祥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼蝙寨,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼晒衩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起墙歪,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤听系,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后虹菲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體靠胜,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年毕源,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浪漠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡霎褐,死狀恐怖址愿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冻璃,我是刑警寧澤响谓,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站俱饿,受9級(jí)特大地震影響歌粥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拍埠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望土居。 院中可真熱鬧枣购,春花似錦嬉探、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至分瘾,卻和暖如春胎围,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背德召。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工白魂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人上岗。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓福荸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親肴掷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子敬锐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法呆瞻,內(nèi)部類的語(yǔ)法台夺,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法痴脾,線程的語(yǔ)...
    子非魚_t_閱讀 31,639評(píng)論 18 399
  • 一:java概述:1颤介,JDK:Java Development Kit,java的開發(fā)和運(yùn)行環(huán)境明郭,java的開發(fā)工...
    ZaneInTheSun閱讀 2,654評(píng)論 0 11
  • 本文出自 Eddy Wiki 买窟,轉(zhuǎn)載請(qǐng)注明出處:http://eddy.wiki/interview-java.h...
    eddy_wiki閱讀 1,206評(píng)論 0 5
  • Win7下如何打開DOS控制臺(tái)? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,599評(píng)論 4 12
  • 從2014年的激情澎湃,到現(xiàn)在已經(jīng) 做了3年計(jì)劃了话侄。有點(diǎn)偃旗息鼓的意味了亏推。 但內(nèi)心仍然覺得如果不繼續(xù)做計(jì)劃,就好像...
    戴戴寫作之路閱讀 384評(píng)論 0 3