1.調用棧:簡單說就是一個用於維護程序中方法調用,越先執行的方法越靠近調用棧的底部,當一個方法被執行完后就會從調用棧的頂部移除。
如果一個java程序是多線程的應用程序,那么它可能擁有多個調用棧。
2.方法調用后可能的三種情況:
(1) 方法返回一個值,基本數據類型或引用類型。
(2) 沒有返回值。
(3) 拋出一個異常給函數的調用者,例如,NullPointerException(空指針異常)、ArrayIndexOutOfBoundsException(數組下標越界異常)。
注意:Java中的方法只能出現在類當中,然后沒有main方法的java類不是一個程序。
3.方法簽名:方法簽名指的是方法{ }之前的所有內容。一個方法方法簽名有以下幾部分組成:
(1) 訪問修飾符:
a. public 公開訪問級別,允許訪問的對象包括:本類的對象、同包不同類的對象、不同包的對象、子類對象;
b. protected 受訪問保護級別,允許訪問的對象包括:本類的對象、同包不同類的對象、子類對象;
c. default(不寫) 默認范文級別,允許訪問的對象包括:本類的對象、同包不同類的對象;
d. private 私有訪問級別,允許訪問的對象只有:本類的對象;
(2) 可選修飾符:
static(靜態的)、final(最終的)、abstract(抽象的)、native(本地的)、synchronized(同步的)。
其中static修飾的成員為靜態成員,為類的所有成員共享。
在靜態方法中,只能直接調用靜態成員,不能直接調用非靜態成員。需要調用時用:類名.成員名
在成員方法中(即不是用static修飾的方法),可直接調用任何成員。
(3) 返回值類型:
包括,基本數據類型、引用數據類型、或者是沒有返回值為void。
(4) 方法名:
可使用任何有效的java表示符。
(5) 形式參數列表:
方法名后用括號括起來,用於方法調用時傳遞數據參數,java中傳遞參數的方法只有值傳遞。
(6) 拋出異常列表:
使用throws關鍵字,在方法中出現一個方法本身不能或者不想解決的問題時,拋出一個異常,可拋出多個異常,用逗號隔開。
4.方法重載:在同一個類當中有兩個或多個相同方法名,但有不同的參數列表的方法時,就叫方法的重載。
5.構造器(構造方法):
(1). 是一個不聲明返回值類型,並且方法名必須和類名相同,用於初始化對象中成員變量的一個特殊方法。該方法在實例化對象時被調用。
(2). 當在類中沒有添加構造器時,編譯器會自動添加一個無參的構造器,如果我們自己添加了構造器,編譯器就不在添加默認構造器。
(3). 在構造器中,可以使用this()來調用同一個類中其他的構造器,但需注意的是,調用構造器的this語句必須是本構造器中的第一條可執行語句。
6.數組:
(1). 聲明一個數組: 數據類型 [] 變量名;
(2). 分配空間: 變量名 = new 數據類型[長度]; 分配空間后數組就會有默認值。
(3). 聲明的同時分配空間: 數據類型 [] 變量名 = new 數據類型[長度];
(4). 初始化數組: 數據類型 [] 變量名 = new 數據類型[]{}; 或 數據類型 [] 變量名 = {};
(5). 數組的長度是固定,一但聲明就不能增長或者縮小。然后數組的長度可用 數組名.length 獲取。
(6). foreach (用於數組或集合的遍歷) 語法:for(類型 變量名 : 數組或集合名) {}
7.繼承:
(1). 在面向對象編程中,可以擴展一個已有的類,並繼承該類的屬性和行為,來創建一個新的類。
(2). 已有的類稱為父類或基類、超類,子類也可以稱為派生類。
(3). JAVA不支持多重繼承,單繼承使JAVA的繼承關系很簡單,一個類只能有一個父類,易於管理程序,同時一個類可以實現多個接口,從而克服單繼承的缺點。
(4). 繼承關系是傳遞的。若類C繼承類B,類B繼承類A,則類C既有從類B那里繼承下來的屬性方法,也有從類A那里繼承下來的屬性方法,還可以有自己新定義的屬性方法。