Java 關鍵字總結

      網友投稿 752 2022-05-29

      private 關鍵字

      private ,私有的,一種訪問權限修飾符,用來修飾類的成員(包括成員變量和成員方法)

      被修飾的成員只能在本類中訪問

      用法:

      private 數據類型 變量名; private 返回值類型 方法名(參數列表){}

      public:公共的,訪問權限修飾符,用來修飾類、成員變量、成員方法等,被修飾的內容可以在 任意類 中訪問

      default (包訪問級別): 類的成員變量和方法什么修飾符都沒有,又叫包修飾符,只有類本身成員和當前包下類的成員可以訪問

      protected (子類訪問級別): 用 protected 修飾的成員變量和方法能被該類的成員以及其子類成員訪問,還可以被同一個包中的其他類的成員訪問

      案例:

      A:給成員變量添加 private 修飾后,測試類中將不能直接訪問

      B:由于 private 的特性,需要在 Student 類中添加訪問該屬性的方法,供其它類調用

      C:屬性的操作一般都是取值和賦值,所以添加對應的公共方法: getXxx() 、setXxx(參數)

      D:在測試類中通過 getXxx() 和 setXxx(參數) 方法來實現屬性的訪問

      public static void main(String[] args) { Student2 stu = new Student2(); stu.setAge(20); stu.setName("twe"); System.out.println(stu.getAge()); System.out.println(stu.getName()); stu.study(); }

      this 關鍵字

      this,表示本類對象的引用,本質是一個對象

      每一個普通方法都有一個 this,誰調用該方法,this 就指向誰

      用法:

      this.屬性名; this.方法名(參數);

      案例:

      package cn.itcast.demo; public class Student2 { private String name = "one"; private int age = 1; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public String getName() { return this.name; } public int getAge() { return this.age; } public void study() { System.out.println(this.name + " is studying "); } }

      final 關鍵字

      final 用于修飾類、方法和變量

      修飾類:

      表示該類不能被繼承

      例如,String、System

      修飾方法:

      表示該方法不能被重寫,不能與 abstract 共存

      修飾變量:

      表示最終變量,即 常量,只能賦值一次;

      不建議修飾引用類型數據,因為,對于引用數據類型,即使加了 final,仍然可以通過引用修改對象的內部數據,意義不大

      static 關鍵字

      修飾類的成員:

      成員變量:類變量

      成員方法:類方法

      被修飾成員的調用方式:

      類名.成員變量名; 類名.成員方法名(參數);

      static 修飾成員變量

      被本類所有對象共享

      隨意修改靜態變量的值是有風險的,為了降低風險,可以同時用 final 關鍵字修飾,即公有靜態常量(注意命名的變化):

      public final static 變量類型 變量名 = 變量值;

      static 修飾成員方法

      靜態方法:

      靜態方法中沒有對象 this,所以不能訪問非靜態成員

      使用場景:

      只需要訪問靜態成員,不需要訪問對象狀態,所需參數都由參數列表顯式提供

      volatile 關鍵字

      volatile 修飾的成員變量在每次被線程訪問時,都強制從共享內存中重新讀取該成員變量的值。

      而且,當成員變量發生變化時,會強制線程將變化值回寫到共享內存。這樣在任何時刻,兩個不同的線程總是看到某個成員變量的同一個值。

      Java 關鍵字總結

      一個 volatile 對象引用可能是 null

      public class MyRunnable implements Runnable { private volatile boolean active; public void run() { active = true; while (active) { // 第一行 // 代碼 } } public void stop() { active = false; // 第二行 } }

      通常情況下,在一個線程調用 run() 方法(在 Runnable 開啟的線程),在另一個線程調用 stop() 方法。 如果第一行中緩沖區的 active 值被使用,那么在第二行的 active 值為 false 時循環不會停止。

      但是以上代碼中我們使用了 volatile 修飾 active,所以該循環會停止;

      volatile 修飾后,active 一旦發生變化,會被所有線程知道

      synchronized 修飾符

      synchronized 關鍵字聲明的方法同一時間只能被一個線程訪問,用于保證線程安全

      synchronized 修飾符可以應用于四個訪問修飾符

      public synchronized void showDetails(){ ....... }

      Java

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:你不知道的JSON的高效率用法
      下一篇:UCOS學習筆記——信號量
      相關文章
      亚洲一区电影在线观看| 亚洲中文精品久久久久久不卡| 亚洲精品乱码久久久久久下载 | 一本色道久久综合亚洲精品| 综合偷自拍亚洲乱中文字幕| 亚洲日韩AV一区二区三区中文| 在线综合亚洲中文精品| 亚洲精品福利你懂| 亚洲五月综合缴情婷婷| 色偷偷亚洲女人天堂观看欧| 亚洲国产中文在线视频| 久久精品国产亚洲AV久| 亚洲国产精品日韩在线| 亚洲av永久无码嘿嘿嘿| 国产成人亚洲综合一区| 亚洲日韩精品无码专区加勒比| 亚洲日韩中文字幕一区| 亚洲精品国产av成拍色拍| 亚洲第一街区偷拍街拍| 亚洲.国产.欧美一区二区三区| 看亚洲a级一级毛片| 亚洲国产精品成人一区| 国产精品亚洲高清一区二区 | 亚洲欧洲国产综合| 亚洲1区1区3区4区产品乱码芒果| 亚洲人色大成年网站在线观看| 亚洲香蕉久久一区二区| 亚洲AV无码一区二区三区性色| 久久精品熟女亚洲av麻豆| 亚洲七七久久精品中文国产| 在线观看午夜亚洲一区| 久久精品国产亚洲av麻| 亚洲色偷偷av男人的天堂| 亚洲人成77777在线播放网站不卡| 亚洲人成欧美中文字幕| 亚洲电影日韩精品| 亚洲欭美日韩颜射在线二| 亚洲AV福利天堂一区二区三| 亚洲福利视频一区二区三区| 中国亚洲呦女专区| 亚洲高清无码综合性爱视频|