人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

Java編程思想讀書筆記(5章)

Java編程思想讀書筆記(5章)

更新時(shí)間:2022-07-26 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

第5章 隱藏實(shí)現(xiàn)細(xì)節(jié)

  一.Java訪問權(quán)限飾詞(access specifiers)

   Java有public、protect、friendly、private四種訪問權(quán)限,并且這四訪問權(quán)限的訪問范圍越來越小。

   1. friendly

   1) 果一個(gè)class內(nèi)的數(shù)據(jù)成員或方法沒有任何權(quán)限飾詞,那么它的缺省訪問權(quán)限就是friendly。同一個(gè)package內(nèi)的其它所有classes都可以訪問friendly成員,但對(duì)package以外的classes則形同private。

   2)對(duì)于同一個(gè)文件夾下的、沒有用package的classes,Java會(huì)自動(dòng)將這些classes初見為隸屬于該目錄的default package,可以相互調(diào)用class中的friendly成員。如以下兩個(gè)class分別在同一個(gè)文件夾的兩個(gè)文件中,雖然沒有引入package,但隸屬于相同的default package。

   class Sundae{
   //以下兩個(gè)方法缺省為friendly
   Sundae(){}
   Void f() {System.out.println(“Sundae.f()”);
   }
   public class IceCream{
   public static void main(String[] args){
   Sundae x = new Sundae();
   x.f();
   }
   }
   2. public:可以被任何class調(diào)用

   3. private:private成員只能在成員所屬的class內(nèi)被調(diào)用,如:

   class Sundae{
   private Sundae(){}//只能在Sundae class中被調(diào)用
   Sundae(int i) {}
   static Sundae makASundae() {
   return new Sundae();
   }
   }
   public class IceCream{
   public static void main(String[] args){
   // Sundae class中構(gòu)造函數(shù)Sundae()是private,
   // 所以不能用它進(jìn)行初始化
   //Sundae x = new Sundae();
   Sundae y = new Sundae(1);//Sundae(int)是friendly,可以在此調(diào)用
   Sundae z = Sundae.makASundae();
   }
   }
   4. protected:具有friendly訪問權(quán)限的同時(shí),又能被subclass(當(dāng)然包括子孫類,即子類的子類)所訪問。即,既能被同一package中的classes訪問,又能被protected成員所在class的subclass訪問。

   二.Class的訪問權(quán)限

   1.Class同樣具有public、protect、friendly、private四種訪問訪問權(quán)限:

   1)public:在任何地方都可被使用

   2)protect、private:除了它自己,沒有任何class可以使用,所以class不能是

   protected或private(inner class除外)

   3) friendly:同一個(gè)package中的classes能用

   2. 如何調(diào)用構(gòu)造函數(shù)被聲明為private的class

   1) 用static函數(shù)

   2) 用Singteton模式

   class Soup{
   private Soup(){}
   //(1)靜態(tài)函數(shù)方法
   public static Soup makeSout(){
   return new Soup();
   }
   //(2)The "Singleton" pattern:

   private static Soup ps1 = new Soup();
   public static Soup access(){
   return ps1;
   }
   public void f(String msg){
   System.out.println("f(" + msg + ")");
   }
   }
   public class Lunch{
   public static void main(String[] args){
   //Soup priv1 = new Soup();編譯錯(cuò)誤
   Soup priv2 = Soup.makeSout();
   Soup priv3 = Soup.access();
   priv2.f("priv2");
   priv3.f("priv3");
   }

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 普格县| 容城县| 大新县| 明水县| 漾濞| 耒阳市| 班戈县| 临清市| 安陆市| 耒阳市| 恭城| 平昌县| 那曲县| 舒城县| 邵东县| 错那县| 宜昌市| 获嘉县| 绥化市| 阜南县| 余江县| 镇宁| 泰宁县| 南投市| 凤城市| 独山县| 准格尔旗| 崇信县| 奉贤区| 漳州市| 崇州市| 桐柏县| 山阳县| 克山县| 德惠市| 青浦区| 阿坝| 武城县| 固始县| 潜山县| 什邡市|