標籤:
考慮年齡的輸入需要判定引入:
封裝:
定義:隱藏事物的屬性與實現的細節,只提供公用方法進行操作。
private關鍵字:
存取權限修飾符;可以修飾成員變數及函數;是封裝的一種表現形式,還有類、函數等形式。
set/get方法的說明:
需要提供公用方法,才能訪問被private修飾的成員變數。
set方法主要是修改成員變數的值;
get方法主要是擷取成員變數的值。
注意:set/get並不一定一起出現,根據實際需求來使用相應的功能。
this關鍵字:
是當前所屬成員函數類對象的引用。
每個類內方法都有一個預設的this。
作用:解決局部變數隱藏成員變數的問題【就近原則】
構造方法:
方法名跟類名一樣,沒有確定的傳回值類型,沒有傳回值。
作用:成員變數初始化
沒有顯示寫出構造方法時,系統預設提供無參構造方法;只要有顯示寫出構造方法,預設建構函式不再提供。
【自己寫無參建構函式 VS 預設無參建構函式】
建議:自己在每一個類中添加一個無參建構函式。
構造方法重載:【參數列表不同】
構造代碼塊:
代碼塊:在{}內的代碼;
作用:將構造方法內的共同代碼集合在一起,且優先於構造方法執行。
關於初始化相關操作執行順序:
預設初始化-》顯示初始化-》構造代碼塊-》建構函式
static關鍵字:【資源共用】
static修飾成員變數特點:
A:隨類的載入而載入;B:優先於類對象而存在;
C:修飾的成員變數被所有對象共用;
D:可以直接用類名.的方式調用。
注意事項:
A:static修飾的方法中,沒有this關鍵字;
B:靜態方法只能訪問靜態變數,非靜態方法都可以調用;
C:可以使用類名.的方式調用。
文檔注釋:
格式: /** */
格式關鍵字:@author 作者 @version 版本 @param 參數 @return 傳回值
文檔產生命令樣本: 【目標目錄】 【源檔案名稱】
javadoc -d d:\\ -author - version ArraryTest.java
API應用:
Math類
[ abs()//絕對值 ceil()//天花板值 floor()//地板值 round()//四捨五入【+0.5】
random()//產生隨機值[0.0,1.0) max()//最大值 min()//最小值 ]
猜數字遊戲
1:封裝
(1)隱藏實現的細節,提供公用的訪問方式。
類,方法等其實都是封裝的具體體現。
(2)private關鍵字
A:用於修飾成員變數和成員方法。
B:被修飾的內容在其他類中是不可以被訪問的。
(3)常見的應用:
類中的所有成員變數私人,給出對應的get/set方法。
代碼體現:
class Student
{
private String name;
private int age;
public Student(){}
public Student(String name,int age)
{
this.name = name;
this.age = age;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return age;
}
}
2:構造方法
(1)格式及特點
格式:
存取權限修飾符類名(參數...){}
存取權限修飾符:
public,private
特點:
A:方法名和類名相同
B:沒有傳回值類型
C:沒有具體的傳回值
(2)注意事項:
A:如果你不給構造方法,jvm會自動給你一個無參構造方法。
B:如果你給出了構造方法,那麼,jvm將不再提供無參構造方法。
這個時候,你如果要使用無參構造方法:只能自己提供
推薦:永遠手動給出無參構造方法。
3:this關鍵字(掌握)
(1)是一個關鍵字。代表當前類對象的引用。
簡單記:在方法中,哪個對象調用方法,this就代表誰。
除了靜態方法外,所有的方法中有隱含的有一個this引用
(2)應用情境:
解決局部變數隱藏成員變數問題。
4:static關鍵字
(1)是一個關鍵字。可以修飾成員變數和成員方法。
(2)靜態特點:
A:隨著類的載入而載入
B:優先於對象存在
C:被類的所有對象共用
D:可以通過類名調用
(3)靜態注意事項:
A:在靜態方法中是沒有this關鍵字的。
B:靜態方法只能訪問靜態成員。
(4)靜態內容的調用:
A:被對象調用
B:被類名調用
推薦被類名調用。
(5)什麼時候該用static呢?
如果某個內容是所有對象共用的,就用靜態修飾。
舉例:
水杯和飲水機。
廁所和人。
老師和學生。
5:Math類的隨機數(掌握)
類名調用靜態方法。
包:java.lang
類:Math
方法:public static double random():
java.lang包下的類是不用導包就可以直接使用的。
產生1-100之間的隨機數:
int number = (int)(Math.random()*100)+1;
java基礎--第八天