久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Java中的權限修飾符(fu)

Java中的權(quan)限修(xiu)飾符 時間(jian):2018-12-24      來源:華清遠(yuan)見

java面向(xiang)對象的基本(ben)思想之一是封裝細節并(bing)且公開接(jie)(jie)口。Java語言采用訪(fang)問控(kong)制(zhi)修飾符來控(kong)制(zhi)類(lei)及類(lei)的方法和變量的訪(fang)問權限,從而向(xiang)使用者暴露接(jie)(jie)口,但隱藏(zang)實現(xian)細節。訪(fang)問控(kong)制(zhi)分為(wei)四(si)種級別:

(1)public: 用public修飾(shi)的類(lei)、類(lei)屬變量及方法,包(bao)內及包(bao)外的任何類(lei)(包(bao)括子類(lei)和普(pu)通類(lei))均可以訪問;

(2)protected: 用protected修飾(shi)的類、類屬變(bian)量及方法,包內的任何類及包外(wai)(wai)那些繼承了該(gai)類的子(zi)(zi)類才能訪問(包外(wai)(wai)的子(zi)(zi)類可(ke)以用Super來(lai)訪問),protected重點突(tu)出繼承;

(3)default: 如果一個(ge)類(lei)(lei)(lei)(lei)、類(lei)(lei)(lei)(lei)屬變(bian)(bian)量及方法(fa)(fa)沒有用(yong)任(ren)何修(xiu)飾符(即沒有用(yong)public、protected及private中(zhong)任(ren)何一種修(xiu)飾),則其(qi)訪(fang)(fang)問(wen)權(quan)限(xian)為default(默(mo)認(ren)訪(fang)(fang)問(wen)權(quan)限(xian))。默(mo)認(ren)訪(fang)(fang)問(wen)權(quan)限(xian)的類(lei)(lei)(lei)(lei)、類(lei)(lei)(lei)(lei)屬變(bian)(bian)量及方法(fa)(fa),包(bao)(bao)內的任(ren)何類(lei)(lei)(lei)(lei)(包(bao)(bao)括(kuo)繼承了此類(lei)(lei)(lei)(lei)的子(zi)類(lei)(lei)(lei)(lei))都可(ke)以訪(fang)(fang)問(wen)它(ta),而對于包(bao)(bao)外(wai)的任(ren)何類(lei)(lei)(lei)(lei)都不(bu)能訪(fang)(fang)問(wen)它(ta)(包(bao)(bao)括(kuo)包(bao)(bao)外(wai)繼承了此類(lei)(lei)(lei)(lei)的子(zi)類(lei)(lei)(lei)(lei))。default重點突出(chu)包(bao)(bao);

(4)private: 用private修飾的類(lei)、類(lei)屬變(bian)量(liang)及方法(fa),只有本類(lei)可以訪(fang)問,而包(bao)內包(bao)外的任何類(lei)均不能訪(fang)問它。

(1)適用范(fan)圍(wei)<訪問權(quan)限范(fan)圍(wei)越(yue)小,安全性越(yue)高>,如(ru)圖所示:

Java中的權限修飾符,JAVA培訓

(2)類的修(xiu)飾符:public:主(zhu)類。 一個文件中(zhong)只能有一個主(zhu)類。 主(zhu)類整個項目下都可以使用。

default:其他類。不能跨包使用。

  成員(yuan)(變(bian)量和方法(fa) ,本包(bao)可以使用。成員(yuan)變(bian)量成員(yuan)方法(fa)):public  protected  default  private

      public:在整(zheng)個(ge)項(xiang)目(mu)下都可(ke)以使用。

      default:在本包(bao)內可以使用,不能(neng)跨包(bao)。

      private:只有本類可以(yi)使用。其(qi)他(ta)類都(dou)不能使用。

      protected:不能跨包,但是跨包類如(ru)果是該類的子類,就可以用。用super來(lai)訪問父類的成(cheng)員

構造方法:

public  protected  default  private和成(cheng)員的使用是一樣的,沒有任何區別。

例:

package com.fs.test;

import com.fs.TestAccess02;

/*為什么protected修飾的(de)成(cheng)員變量hight 可以(yi)在(zai)B類(lei)使用  A類(lei)就不行、

 * 

 * 因為protected修飾的(de)關(guan)鍵字,雖(sui)然不(bu)能跨包使用(yong)。但是(shi)可以在子類中使用(yong)。

 * 

 * */

public class A {

public static void main(String[] args) {

//Test1是public修飾的類,是可以跨包使用的。

TestAccess02 t =new TestAccess02();

//default修飾的類,在其(qi)他包中不能使(shi)用。

// T t2 =new T();

 //public修(xiu)飾的(de)成員變量age  是可(ke)以跨(kua)包使用的(de)。

System.out.println(t.age);

//default修飾的成員(yuan)變(bian)量name。 不可以(yi)跨包使用(yong)

// System.out.println(t.name);

//protected修飾的成員變量hight  不能跨包使(shi)用。

// System.out.println(t.hight);

}

}

class B extends TestAccess02{

public void method(){

//protected修飾的成員變量hight  可以(yi)在不同包子類中使用。

System.out.println(super.hight);

}

}

TestAccess02位于:package com.fs

A位于:package  com.fs.test

B 位于:package  com.fs.test,但是卻是TestAccess02的子類

結論:protected修(xiu)飾(shi)符所(suo)修(xiu)飾(shi)的(de)(de)類(lei)(lei)(lei)(lei)(這句話(hua)中(zhong)指父類(lei)(lei)(lei)(lei))屬成員變(bian)量和方(fang)法,只可(ke)以被子(zi)類(lei)(lei)(lei)(lei)訪(fang)問,而(er)(er)不(bu)(bu)管(guan)子(zi)類(lei)(lei)(lei)(lei)是(shi)不(bu)(bu)是(shi)和父類(lei)(lei)(lei)(lei)位于(yu)同一個(ge)包中(zhong)。default修(xiu)飾(shi)符所(suo)修(xiu)飾(shi)的(de)(de)類(lei)(lei)(lei)(lei)屬成員變(bian)量和方(fang)法,只可(ke)被同一個(ge)包中(zhong)的(de)(de)其他(ta)類(lei)(lei)(lei)(lei)訪(fang)問,而(er)(er)不(bu)(bu)管(guan)其他(ta)類(lei)(lei)(lei)(lei)是(shi)不(bu)(bu)是(shi)該類(lei)(lei)(lei)(lei)的(de)(de)子(zi)類(lei)(lei)(lei)(lei)。protected屬于(yu)子(zi)類(lei)(lei)(lei)(lei)限(xian)制(zhi)修(xiu)飾(shi)符,而(er)(er)default屬于(yu)包限(xian)制(zhi)修(xiu)飾(shi)符。

上一篇:C++之權限限定符淺談

下一篇:只要運氣足夠好,一刀也能999!JAVA隨機數快速入門

熱點文章推薦
華清學員就業榜(bang)單
高(gao)薪學員經驗分享
熱(re)點新聞推(tui)薦
前臺專(zhuan)線:010-82525158 企業培訓洽談專(zhuan)線:010-82525379 院校合作洽談(tan)專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部