JAVA筆記之類與物件
類與物件
主要內容:
- 類
- 構造方法與物件的建立
- 類與程式的基本結構
- 引數的傳值
- 物件的組合
- 例項成員與類成員
- 方法過載
- this關鍵字
- 包
- import語句
- var區域性變數
- jar檔案
1、類
一句話:“把共有的特徵拿過來”
注意:類名首字母大寫,變數名首字母小寫
類是Java語言中最重要的“資料型別”,類宣告的變數被稱作物件變數,簡稱物件。
類的定義包括兩部分,即類宣告和類體。基本格式為:
class 類名{ 類體的內容 }
class是關鍵字,用來定義類。“class類名”是類的宣告部分,類名必須是合法的Java識別符號。兩個大括號及其之間的內容是類體。
1.1 類的宣告
以下是一個類宣告的例子。
class People{ ... }
“class People”稱為類宣告,“People”是類名。在給類命名時遵循下列程式設計風格(不是語法要求的,但應當遵守):
1、類名首字母應大寫。
2、類名最好容易識別,見名知意。
1.2 類體
定義類的目的是抽象出一類事物共有的屬性和行為,並用一定的語法格式來描述所抽象出的屬性和行為。
類使用類體來描述所抽象出的屬性和行為,類宣告之後的一對大括號以及它們之間的內容稱作類體,大括號之間的內容稱作類體的內容。
抽象的關鍵是抓住事物的兩個方面——屬性和行為,即資料以及在資料上所進行的操作,因此類體的內容由如下所述的兩部分構成。
1、變數的宣告
用來儲存屬性的值(體現物件的屬性)
2、方法的定義
方法可以對類中宣告的物件進行操作,即給出演算法(體現物件所具有的行為)
下面是一個名稱為Ladder的類(用來描述梯形),類體中的宣告變數部分聲明瞭4個float型別變數,即above、bottom、height和area;方法定義部分定義了兩個方法,即float computerArea()和void setHeight(float h)。
class Ladder{ //-------------屬性------------- float above; //變數宣告 float bottom; //變數宣告float height; //變數宣告 float area; //變數宣告 //-------------行為------------- float computerArea(){ //定義方法computerArea area = (above+bottom)*height/2.0f; return area; } void setHeight(float h){ //定義方法setHeight height = h; } }
1.3 成員變數
類體中的內容可以分為兩部分:一部分是變數的宣告;另一部分是方法的定義。宣告變數部分所宣告的變數被稱作成員變數或域變數。【此處應與“區域性變數”區分,見圖1】
圖1
1.3.1 成員變數的型別
成員變數的型別可以是Java中的任何一種資料型別,包括基本型別:整型、浮點型、字元型、邏輯型別;引用型別:陣列、物件和介面。
1.3.2 成員變數的預設值和有效範圍
在宣告成員變數時如果沒有指定初始值,Java編譯器會為其指定預設值。
對於boolean變數,預設值是false;
對於byte、short、int和long變數,預設值是0;
對於char變數,預設值是'\0' (空字元);
對於float和double變數,預設值是0.0;
對於“引用型”變數(陣列以及物件),預設值是null。
成員變數在整個類的所有方法裡都有效(約等於全域性變數),其有效性與它在類體中出現的位置無關。