類 對象 封裝性 this private 構造函數 package importjava
注意:屬性必須修飾爲爲private
git
https://gitee.com/hellolv/java201621123078編程
面向過程編程是一種以過程爲中心的編程思想,分析出解決問題的步驟,而後用函數把這些步驟一步一步實現。面向過程編程,數據和對數據的操做是分離的。數組
面向對象編程是將事物對象化,經過對象通訊來解決問題。面向對象編程,數據和對數據的操做是綁定在一塊兒的。數據結構
做用:函數
構造函數能夠是有參數的也能夠是無參數,可是在構造函數的過程當中名稱和類的名必需要一致,苟澤構造函數沒有返回類型。工具
若是定義了一個有參的構造函數,爲了保證正確性,系統不會建立無參構造函數。學習
String
類的源代碼,找出3個看得懂的String類的構造函數,並使用本身的話描述這3個構造函數的區別。
圖一:該String構造函數中,參數爲char數組,使用java.utils包中的Arrays類複製數組
圖二:該String構造函數是令value字符數組引用空字符串。
圖三:該String構造函數直接令value字符數組引用original的value字符數組地址,並把其hash值拷貝過來。this
java.lang.Math
類的方法時,爲何不須要new出一個Math對象,而後調用該對象上相應的方法?對於java.lang.Math
類都爲靜態變量與方法,並不須要new出一個Math對象,再調用該對象上相應的方法。code
會出現「The constructor Math() is not visible」的錯誤提示,由於java.lang.Math類的函數在使用時不須要重載。
在引用數據類型在定義實例時須要new實例對象,經過new能夠調用含參的和不帶參的函數,而對於基本數據類型不須要new能夠直接定義,靜態方法屬於類自己,而非類的實例,因此能夠用「類名.方法名」直接調用沒必要建立相應對象就可使用。
同一個類中的2個或2個以上的方法能夠一同一個名字,只是它們的參數聲明不一樣便可,在這種狀況下,該方法就被稱爲重載,這個過程稱爲方法重載。
參考百度知道
public Student(){ private String name; private String age; public Student(){ } public Student(String name){ this.name = name; } public Student(String name,String age){ this.name = name; this.age = age; }
//上面三個函數都是Student類的構造函數。第一個是無參的,第二個有一個參數,第三個有兩個參數。這就是構造函數的重載
java.lang.Math
類中舉出1個方法重載的例子?經過查看jdk文檔中有關於Math類的abs能夠看出在Math()函數中abs的方法有不少並且不盡相同,參數不一樣,調用的方法也不一樣,因此組中輸出的結果也是不一樣的。
final int[] NUMBS= {1,2,3,4,5}; NUMBS[2] = 1;
由於final修飾的時引用類型的變量,變量的值在運行過程當中不能不被修改,因此代碼依然能夠正常運行,此外,NUMBS存儲的時數組的首地址。
功能:判斷今天若是是週一到週五,返回true,返回false。main函數中調用該函數,若是爲true則輸出「工做日+姓名學號」,不然輸出"休息+姓名學號"。
截圖:關鍵代碼。
提示:使用LocalDateTime, DayOfWeek類
顧名思義,封:封閉,裝:裝起來,將具體的實現細節裝到一個容器中,並封閉起來,防止容器外部直接訪問容器內部的實現細節,僅公開暴露指定的訪問路徑。正如長方形類Rectangle,其中width, length這些屬性是私有的,圓形類Circle,屬性radius是私有的。
好處:
可讀性:
被封裝後的對象的名稱(如:程序集名,類名,方法名)若是命名恰當,那麼就能在不看裏面的實現細節的前提下,瞭解該對象的做用。
找一個水平相近的同窗完成1-2題實驗題。開始編程前,可先對內容進行討論。
寫出體驗報告,包括如下內容:1.對方姓名。2.所完成的題目。3.感想。4.照片(上次不少同窗並未貼照片,請貼上)
個人搭檔是蘇志穎同窗,咱們所完成的是PTA的上面的第四題,在編寫代碼的過程當中讓我感覺到兩我的一塊兒編寫效率可以獲得很大的提升,在我編寫過程當中,可以及時發現個人問題,並可以一塊兒討論,一塊兒解決問題。
在碼雲的項目中,依次選擇「統計-Commits歷史-設置時間段」, 而後搜索並截圖
須要有兩張圖(1. 排名圖。2.PTA提交列表圖)
周次 | 總代碼量 | 新增代碼量 | 總文件數 | 新增文件數 |
---|---|---|---|---|
1 | 0 | 0 | 0 | 0 |
2 | 280 | 280 | 5 | 5 |
3 | 530 | 250 | 9 | 4 |