JAVA——基礎知識筆記(一)
阿新 • • 發佈:2018-11-29
類與物件
- 類和物件的關係:類定義了物件長什麼樣,物件則是按照類的定義所製造出來的實體,一個類可以建立很多物件,每個物件有自己的資料。
- 物件變數是物件的管理者而非所有者。物件變數是物件的管理者而非所有者。
- 物件的比較
‘==’:物件引用的地址是否相同
‘equals’:所指內容是否相同
/*定義類*/
class 類名稱 {
屬性 (變數) ;
行為 (方法) ;
}
/*例項化物件*/
類名稱 物件名稱 = new 類名稱 () ;
成員變數與區域性變數
成員變數和區域性變數的區別
成員變數: ①成員變數定義在類中,在整個類中都可以被訪問。 ②成員變數隨著物件的建立而建立,隨著物件的消失而消失,存在於物件所在的堆記憶體中。 ③成員變數有預設初始化值。 區域性變數: ①區域性變數只定義在區域性範圍內 ②區域性變數存在於棧記憶體中,作用的範圍結束,變數空間會自動釋放。 ③區域性變數沒有預設初始化值 在使用變數時需要遵循的原則為:就近原則 首先在區域性範圍找,有就使用;接著在成員位置找。
this與super
-
this
this可以用在成員方法與成員變數中.
this不能用在靜態方法中 -
this()
this(實參);
通過一個構造方法去呼叫另一個構造方法。
必須出現在構造方法的第一行。 -
super()
用法:通過子類的構造方法去呼叫父類的構造方法.
語法規則:一個構造方法第一行如果沒有this(…);也沒有顯示的去呼叫super(…);
系統會預設呼叫super();
注意:
super(…);的呼叫只能放在構造方法的第一行.
super(…)和this(…)不能共存。 -
super
語法:super.xx 來呼叫父類的成員方法或成員變數.
注意:super無法呼叫父類的private方法與變數。
static關鍵字
static可以用來修飾成員變數和方法,被static修飾的成員變數稱為靜態變數,方法稱為靜態方法。
靜態變數和方法在記憶體中只有一份,是屬於類的,物件之間共享,通過類名.成員變數或者方法呼叫。
當成員變數被static和 final 修飾時被稱為靜態常量,常量不能被修改。
由於靜態成員是屬於類的,因此需要注意:
1.靜態方法不能使用this關鍵字
2.靜態方法不能直接呼叫非靜態方法
3.方法體內的變數不能宣告為static
public,private,protected關鍵字
public:可以被所有其他類所訪問
private:只能在類內訪問與修改
protected:自身、子類及同一個包中類可以訪問
預設:同一包中的類可以訪問,宣告時沒有加修飾符,認為是friendly