類、對象、封裝
等面向對象的思想
對象
類
java
掌握的還不夠深刻,知識框架體系還不完善,望見諒.....git
git地址編程
public 類名() { .............. }
public Person(){ System.out.println("This is constructor"); System.out.printf("%s,%d,%s,%d%n", name,age,gender,id); }
public Person(String name , int age , boolean gender ){ this.name = name; this.age = age; this.gender = gender; }
完成對name
age
gender
的賦值String
類的源代碼,找出3個看得懂的String類的構造函數,並使用本身的話描述這3個構造函數的區別。java.lang.Math
類的方法時,爲何不須要new出一個Math對象,而後調用該對象上相應的方法?new Math()
編程結果提示內容不可見;Math()
是一種頂級類(在其它類的外面聲明一個類時,Java就認爲該類是一個頂級類),無需再new
建立重載即函數(或方法)有着一樣的函數名稱,但自變量或者參數不一樣;數組
構造函數重載即保證每一個構造函數的參數類型或者參數個數不一樣那麼就能夠在一個類中定義多個函數;安全
區分兩個重載:在於相應參數的數量、參數的順序和參數的類型的不一樣所在數據結構
java.lang.Math
類中舉出1個方法重載的例子?final int[] NUMBS= {1,2,3,4,5}; NUMBS[2] = 1;
框架
public static boolean isMondayToFriday()
功能:判斷今天若是是週一到週五,返回true,返回false。main函數中調用該函數,若是爲true則輸出「工做日+姓名學號」,不然輸出"休息+姓名學號"。
截圖:關鍵代碼。
提示:使用LocalDateTime, DayOfWeek類函數
封裝
是什麼意思?有何好處?Rectangle
,private
屬性:int width,int length
Circle
,private
屬性:int radius
public int getPerimeter()
以及面積public int getArea()
的方法則是爲用戶可見的;private
數據私有化,成員變量或成員方法只能在本類中被使用,在子類或其餘包的類都是不可見的;public
數據公開化,成員變量或成員方法用public修飾在任何地方都是可見的;default
數據默認化,在成員變量或成員方法沒有聲明的狀況下,Java會自動給這些沒有聲明權限的成員一個默認的權限default,這個權限則不能實現跨包,該成員變量或成員方法只能在本類或該類的子類調用;protected
數據受保護,若是在成員變量或成員方法用protected修飾的,那麼該成員變量或成員方法在同包的類或子類是可見的,若是要實現跨包,那麼在子類纔可見。關鍵字的詳細內容參考百度百科工具
找一個水平相近的同窗完成1-2題實驗題。開始編程前,可先對內容進行討論。
寫出體驗報告,包括如下內容:1.對方姓名。2.所完成的題目。3.感想。4.照片學習
結對對象:普天
完成題目:PTA7-3(形狀)
感想:在老師上完實驗課的基礎上,首先咱們統一步調,先實現類的建立,再而無參構造函數和有參構造函數的建立,經過快捷鍵shift+alt+s
使每一個屬性生成setter、getter方法以及覆蓋toString函數的生成;接下來就是主函數的編寫(main),咱們經過商討決定建立字符串數組將周長和、面積和放入其中,進而實現字符串向Integer類的轉化,最後就是實現整合,按正確格式輸出。本次結對編程雙方沒有太多的想法歧義,大致的框架基本統一,在main函數中的語句使用上仍是有各自的想法,但已經逐漸向「1+1>2"發展,這是一個很好的勢頭。
須要有兩張圖(1. 排名圖。2.PTA提交列表圖)
須要將每週的代碼統計狀況融合到一張表中,可以使用最新版的代碼統計工具的-history參數,詳細用法見項目wiki地址。
周次 | 總代碼量 | 新增代碼量 | 總文件數 | 新增文件數 | |||||
---|---|---|---|---|---|---|---|---|---|
第一週 | 189 | 189 | 10 | 10 | |||||
第二週 | 304 | 304 | 9 | 9 | |||||
第三週 | 557 | 557 | 10 | 10 |