201711671205《java程式設計》第四周學習總結
第四章節主要內容有類的定義和使用,構造方法和物件建立,類與程式的基本結構,引數傳值,物件的組合,實力成員和類成員,方法過載,this關鍵字的使用和對包的理解,import語句和JRE擴充套件與jar檔案
面向物件程式設計主要體現三個特性:
封裝性(將資料和對資料的操作封裝在一起)
繼承(子類可以繼承父類的屬性和行為,即資料和操作)
多型(一種是操作名稱的多型,另一種是和繼承有關的多型)
類的定義包括:類宣告和類體
基本格式為 class 類名{
類體的內容
}
類名程式設計風格:
1.類名是拉丁字母,則名字的首字母大寫,如Hello
2.由幾個單詞符合而成時,每個單詞首字母應大寫,如ChinaMade
類體由兩部分組成:
1.變數的宣告:用來儲存屬性的值
2.方法的定義:對類中宣告的變數進行操作,即給出演算法
變數:成員變數或域變數(區域性變數)
成員變數的型別
可以是整形,浮點型,字元型,邏輯型別,引用型別:陣列,物件和介面
如:class Factory {
float 【】a;//factory的成員變數a是float型別的陣列
Workman zhang;//zhang是workman類宣告的變數
}
class Workman{
double x;
}
成員變數在整個類內都有效,其有效性與它在類體中書寫的先後位置無關
方法由方法頭和方法體組成
方法頭由方法的型別,名稱和括號和括號其中的引數列表構成,例:
int speak()//無引數的方法頭
{ return 23;
}
int add(int x,int y,int z)//有引數的方法頭
{ return x+y+z;
}
當一個方法是void型別時,該方法不需要返回資料
方法體:一對大括號以及它們之間的內容成為方法體,方法體的內容包括區域性變數的宣告和java語句
區域性變數:在方法體中宣告的變數和方法的引數唄稱作區域性變數 例如:
int getsum(int n){ //引數變數n是區域性變數
int sum=0; //宣告區域性變數sum
for(int i=1;i<=n;i++){
sum=sum+i;
}
return sum;
}
區域性變數旨在方法內有效。方法的引數在整個方法內有效,方法內的區域性變數從宣告它的位置之後開始有效
如果區域性變數的名字和成員變數的名字相同,那麼成員變數被隱藏,即成員變數在這個方法內暫時失效,如果想在這個方法內使用成員變數,則必須使用關鍵字this
成員變數有預設值,但區域性變數沒有預設值
class A{
int a;
float b;
a=12; //非法,這是賦值語句(語句不是變數的宣告,只能出現在方法體中)
b=12.56f; //非法
}
類的UML圖
類名(常規字形表明是具體類,斜體字形標明是抽象類 |
變數層,也稱屬性層;列出成員變數及型別,格式:變數名:型別 |
方法層,也稱操作層,列出類中的方法,格式:方法名(引數列表):型別 |
構造方法和物件的建立:類是建立物件的模板,沒有類就沒有物件
物件:類所宣告的變數被成為物件
構造方法:用類建立物件時需使用它的構造方法
構造方法的名字必須跟它所在類的名字完全相同,而且沒有型別,可以在一個類中有多個構造方法,但引數必須不同。
當類中沒有編寫構造方法,系統預設該類有一個構造方法,並且是無參的,也沒有語句
構造方法沒有型別,void point()或者int point()都不是構造方法。
建立物件:包括對物件的宣告和為物件分配變數兩個步驟
格式:類名 物件名; 如:Lader lader;
為宣告的物件分配變數:使用new運算子和類的構造方法為宣告的物件分配變數
如:XioujiRenwu zhubajie; //宣告物件
zhubajie = new XiyoujiRenwu(); //為物件分配變數(使用new和預設的構造方法)
又如: Point p1,p2; //宣告物件p1和p2
p1=new Point(10,10); //為物件p1分配變數(使用new和類中的建構函式)
p2=new Point(23,35); //為物件p2分配變數(使用new和類中的建構函式)
使用物件
1.物件操作自己的變數(體現物件的屬性),通過使用點運算子“.”(引用運算子或訪問運算子)訪問自己的變數
格式 物件.變數;
2.物件呼叫類中的方法(體現物件的行為),使用點運算子呼叫建立它的類中的方法
格式 物件.方法;
3.體現封裝:類中的方法可以操作成員變數,當物件呼叫方法時,方法中出現的成員變數就是指分配給該物件的變數
空物件不能使用,不能讓一個空物件去呼叫方法產生行為