JAVA之路(二),java之路
學道酬勤,這是第二次學習JAVA,感覺如醍醐灌頂一樣,理解很多思想和道理。
本博只是自己對JAVA的一些理解,具體定義以及用法百科裡有。
我為什麼在部落格園內記錄自己的學習過程呢,因為我想有人知道我在學它,從而對我形成一種督促,讓我不能輕易言棄。
簡單的對JAVA做一下總結:
1:什麼是物件導向編程,它就是一種編程思想。
通過把事物抽象成具有屬性和行為的實體來清晰編程的層次感,通過修飾符、規範判斷來保護程式的安全,通過繼承簡化代碼量。(還未複習到多態就先不總結這一點)
物件導向編程即為,事物抽象為實體(基礎)——>封裝(安全)——>繼承(簡潔).
2:構造方法的含義:
構造方法就是類執行個體化對象的一種途徑,通過new關鍵字在堆內開闢一個空間,構造出一個執行個體對象。
PS:構造代碼塊——一個類中通常需要將構造方法重載,這個時候運用構造代碼塊可以簡潔代碼。它的作用就是將塊內的代碼在調用構造方法內部代碼前加到構造代碼中
舉個例子:
{
System.out.println("我是構造代碼塊");
}
public std(){
System.out.println("我是建構函式一");
}
public std(String name,int age){
System.out.println("我是建構函式二");
}
當調用構造方法std()或者std(String name,int age)時,編譯器就會將構造代碼塊的內容放入構造方法內
如:
public std(){
System.out.println("我是構造代碼塊");
System.out.println("我是建構函式一");
}
PPS:子類初始化時,無論子類調用本身的建構函式是否有參,它預設先調用的都是父類的無參建構函式,可見,一個類的無參構造方法多麼重要。
3:static關鍵字
靜態static,我理解的是,它的作用是使對象或者方法成為公用對象或者公用方法。就是在記憶體中開闢一塊公用地區,每一個通過類執行個體化的對象都可以訪問到靜態變數或者靜態方法。
靜態變數是跟類相關聯的,類的所有執行個體共同擁有一個靜態變數,訪問的時候用類名.靜態變數名或者類名.靜態方法名來訪問。
什麼時候會用到靜態變數呢,舉個例子,count變數,用於計量。靜態方法不能調用執行個體變數,只能調用靜態變數。同時,它也不能調用this,它不屬於任何一個執行個體。
static代碼塊,最先載入,可以用於靜態變數的初始化。
4:this和super
super是子類調用父類成員屬性時才會用到的關鍵字。子類初始化時,會預設調用父類的無參構造方法,即使子類初始化調用的是有參構造方法,它調用的依舊是父類中的無參構造方法。
this就代指執行個體對象本身,可以通過this,調用構造方法this(),或者調用成員屬性this.變數名;this.方法();
super和this不能同時調用
5:封裝
封裝就是提高程式的安全性和規範性。在編程時,要清楚四種修飾符private、預設、protect、public的作用範圍和意義。他們的限制性是逐漸減弱的。
除了修飾符,還有,當使用者輸入非法資料時要拒絕輸入。舉個例子,在set方法中,限制年齡範圍
PS:這裡要特別注意,各種命名的規範性
6:所有類都直接或間接的繼承於object類,子類經常會重寫它的equal方法和toString方法。當某一個類用final關鍵字修飾後,其是最終類,不可繼承。若是修飾變數,它就不可改變,變成了個常量。如何記憶final關鍵字,final(最終的).
我儲存了很多有用的資料:
1:java命名規範
2:package和import的使用
3:this關鍵字的用法
4:單一職責原則
5:封裝
6:封裝綜合案例
7:關於javadoc命令的教輔
8:繼承上、下
9:物件導向
10:單利模式
連結:https://pan.baidu.com/s/12EJ8fDzm-HidOgxkKedlWw 密碼:91hr
有興趣的同學可以下載瞭解一下,並且歡迎同學來指正不足。稍後會更新一篇關於JAVA檔案輸入輸出,命令列運行指令碼等的博文,便於大家完成作業。