1. 程式人生 > 其它 >springboot/springcloud中非同步註解@Async的使用並且接收返回的結果

springboot/springcloud中非同步註解@Async的使用並且接收返回的結果

java基礎-關鍵字

        目前共10個

        本文章是自己用作學習記錄,並綜合其他文章進行整理的,日後慢慢補全 : )

1.訪問修飾符的關鍵字

1)public

        公有的

        許可權:最開放的訪問許可權,允許類的內部、本包內、子類、外部包呼叫。

        修飾類:一個java原始檔中只能有一個宣告為public的外部類(即我們一般常規使用的類)且此類名和檔名相同。能修飾所有類

        修飾方法和變數:被public修飾的成員能被所有的子類繼承,能被所有包訪問。

2)protected 

        受保護的

        許可權:

允許類的內部、本包內、子類呼叫。

        修飾類:只能修飾內部類

         修飾方法和變數:被修飾的成員在被包內部的類呼叫後能被該類的子類呼叫,即使該子類不在同一包中。只能修飾普通類的成員,不能修飾介面的。

3)default(或稱friendly,但java中無此關鍵字)

        許可權:使用時是無關鍵字,允許類的內部、本包內呼叫。

        修飾類:外部類,內部類和介面可以是default許可權但不能用default修飾,要無關鍵字

        修飾方法和變數:普通類的成員和介面變數被修飾要無關鍵字,應該只有介面中被修飾的方法要用default修飾符表示該許可權,不過該方法需要有構造體,不能是抽象的。

4)private

        私有的

        許可權:允許類的內部呼叫。

        修飾類:只能修飾內部類

        修飾方法和變數:只能修飾普通類的成員,不能修飾介面的。

關於介面的訪問許可權:

        java介面可以是public 的,也可以是default的。

  java接口裡的抽象方法只能是public的。

  java接口裡的成員變數只能是public 的,default的,static 的,final的;並且必須賦初值,否則不能編譯。

2.類相關的關鍵字

1)class

        類

        用來定義類,內部類,抽象類。每一個類都有一個Class物件,所有的類都是在對其第一次使用時,動態載入到JVM中的。

        類的生命週期有

        1.載入,由類載入器(ClassLoader)執行。通過一個類的全限定名來獲取其定義的二進位制位元組流(Class位元組碼),將這個位元組流所代表的靜態儲存結構轉化為方法去的執行時資料介面,根據位元組碼在java堆中生成一個代表這個類的java.lang.Class物件。

        2.連結。在連結階段將驗證Class檔案中的位元組流包含的資訊是否符合當前虛擬機器的要求,為靜態域分配儲存空間並設定類變數的初始值。

        3.初始化。開始執行類中定義的java程式程式碼。用於執行該類的靜態初始器和靜態初始塊,如果該類有父類的話,則優先對其父類進行初始化。

2)interface

        介面

        是一個抽象型別,是抽象方法的集合。介面並不是類。類描述物件的屬性和方法。介面則包含類要實現的方法。介面中每一個方法也是隱式抽象的,介面中的方法會被隱式的指定為 public abstract。一個實現介面的類,必須實現介面內所描述的所有方法,否則就必須宣告為抽象類。

        介面的主要作用是規範程式碼、解耦(實現高內聚,低耦合)等。在很多設計模式的理念中有重要作用。

3)abstract

        抽象

        abstract 表示該類或該方法是抽象的,不能用於 static 方法或者構造方法中。類似於抽象類,但抽象類是要被子類繼承,而介面是用來被子類實現的。

3)implements

        實現

        用於實現介面,一個類可以實現多個介面。實現介面時必須實現介面的所有抽象方法。

3)extends

        繼承

        用於繼承類的,包括抽象類。使用extends後則該類成為子類。子類可以重寫(overrides)父類的方法。以上幾種關鍵字時java面向物件(封裝、繼承、多型)的關鍵。

4)new

        建立新物件

         使用方法:A a=new A();  A表示一個類

        堆Heap記憶體用於存放由new建立的物件和陣列。在堆中分配的記憶體,由java虛擬機器自動垃圾回收器來管理。與物件對的是棧Stack:存取速度比堆要快,但存在棧中的資料大小與生存期必須是確定的,用來存放main方法、基本、引用型別變數、方法函式。

5)import

        引入包

        當使用某個包的一些類時,需要使用import匯入。

6)package

        定義包

        定義類所屬的包,包路徑需與檔案路徑相同