Java基礎學習心得1
Object類
定義:
Object類是所有類的父類
equals,建立對象自己獨特的比較方式,不在是比較對象地址值需要子類覆蓋equals方法
equals和==區別:
==在基本數據類型中比較是具體的數值,在引用類中比較的是對象的地址值
equals方法比較的也是對象的地址值,覆蓋equals方法建立自己獨特比較方式
finalze:JVM自動調用對象的方法
toString默認返回地址值(建議重寫)
內部類
定義:
在一個類內部定義類,這就是內部類,也叫嵌套類
特點:
內部類定義在外部類裏面,對於內部類而言,可以直接使用外部類中的成員,私有也行.對於外部類,使用內部類成員,必須建立內部類對象
使用格式:
全靜態使用格式:外部類名.內部類名.函數名();
非靜態使用內部類格式:外部類.內部類名變量 = new 外部類名().內部類名();
內部類靜態,內部類函數非靜態使用格式:外部類名,內部類名變量 = new外部類名.內部類名();
使用場景:
在3G,Android開發中常用
分析事物時發現裏面還有具體的事物,使用內部類形式實現對事物的描述
局部內部變量(定義在外部類的方法內)
內部類前面的方法定義變量,內部類要調用這個變量必須在變量前面加final,因爲方法中的變量是跟方法的加載而加載進內存,當執行完成後消失,class類則加載在方法的前面,所以運行會報錯,而final是隨着類的加載進入方法區的靜態區.
匿名內部類
定義:
繼承一個類,或實現接口的沒有名稱的內部類.
格式:
new 接口()
{
覆寫,接口中的抽象方法
}.接口中的方法;
接口 變量 = new 接口()
{
覆寫接口中的抽象方法
覆寫接口中的抽象方法
};
變量.函數();
變量.函數();
異常
異常的面向對象思想: java將異常都封裝成對象
異常體系:
Exception:一些參數輸入不正常導致,可以控制的.
Error: 當程序中,發生了很嚴重的問題,我們處理不了,只能修改代碼
不能使用異常處理方式
異常的第一種處理方式:
try
{
//可能出現異常的代碼
}
catch(異常類 變量)
{
//處理方式
}
打印異常的3中常用方式:
getMessage(); //提示信息很少
toString(); //提示信息不是很多
printStackTrace(); //提示信息很多,建議使用
異常的第二種處理方式:
throw: 用於函數內部手動拋出一個異常類的對象
throws: 函數的定義上標示出我這個函數,可能會出現異常,要求調用者需要處理我拋出的這個異常.調用者調用的拋異常的函數處理方式有2種.一種是繼續拋,一種是try(在throws後面跟異常類名)
異常分爲兩種情形:
1) 編譯時期:
是你調用了拋異常的方法後,你的調用者沒有處理這個異常.
2) 運行時期:
編譯成功,但是運行的時候出現的異常,運行時期異常的最高父類RuntimeException.函數中拋出RuntimeException或者是他的子類,這個時候函數中不需要聲明,調用者也不需要處理.
RuntimeException應用場景:
對方無論什麼原因傳遞了非法數據,這個非法數據造成後面的計算毫無意義是,拋出運行時異常.
自定義異常
定義: java中沒有完全描述所有的異常,有的異常是java沒有描述的,需要自定義.
注意:凡是異常類都具備可拋性,必須入夥(繼承Exception或RuntimeException)
常用異常介紹:
ArithmeticException:在算術運算中發生的異常,如除以零
NullPointerException:變量還沒有指向一個對象,就引用這個對象的成員
ArrayIndexOutOfBoundsException:訪問的數組對象中不存在的元素.
使用方法:
調用父類構造方法,傳遞異常信息
定義:
Object類是所有類的父類
equals,建立對象自己獨特的比較方式,不在是比較對象地址值需要子類覆蓋equals方法
equals和==區別:
==在基本數據類型中比較是具體的數值,在引用類中比較的是對象的地址值
equals方法比較的也是對象的地址值,覆蓋equals方法建立自己獨特比較方式
finalze:JVM自動調用對象的方法
toString默認返回地址值(建議重寫)
內部類
定義:
在一個類內部定義類,這就是內部類,也叫嵌套類
特點:
內部類定義在外部類裏面,對於內部類而言,可以直接使用外部類中的成員,私有也行.對於外部類,使用內部類成員,必須建立內部類對象
使用格式:
全靜態使用格式:外部類名.內部類名.函數名();
非靜態使用內部類格式:外部類.內部類名變量 = new 外部類名().內部類名();
內部類靜態,內部類函數非靜態使用格式:外部類名,內部類名變量 = new外部類名.內部類名();
使用場景:
在3G,Android開發中常用
分析事物時發現裏面還有具體的事物,使用內部類形式實現對事物的描述
局部內部變量(定義在外部類的方法內)
內部類前面的方法定義變量,內部類要調用這個變量必須在變量前面加final,因爲方法中的變量是跟方法的加載而加載進內存,當執行完成後消失,class類則加載在方法的前面,所以運行會報錯,而final是隨着類的加載進入方法區的靜態區.
匿名內部類
定義:
繼承一個類,或實現接口的沒有名稱的內部類.
格式:
new 接口()
{
覆寫,接口中的抽象方法
}.接口中的方法;
接口 變量 = new 接口()
{
覆寫接口中的抽象方法
覆寫接口中的抽象方法
};
變量.函數();
變量.函數();
異常
異常的面向對象思想: java將異常都封裝成對象
異常體系:
Exception:一些參數輸入不正常導致,可以控制的.
Error: 當程序中,發生了很嚴重的問題,我們處理不了,只能修改代碼
不能使用異常處理方式
異常的第一種處理方式:
try
{
//可能出現異常的代碼
}
catch(異常類 變量)
{
//處理方式
}
打印異常的3中常用方式:
getMessage(); //提示信息很少
toString(); //提示信息不是很多
printStackTrace(); //提示信息很多,建議使用
異常的第二種處理方式:
throw: 用於函數內部手動拋出一個異常類的對象
throws: 函數的定義上標示出我這個函數,可能會出現異常,要求調用者需要處理我拋出的這個異常.調用者調用的拋異常的函數處理方式有2種.一種是繼續拋,一種是try(在throws後面跟異常類名)
異常分爲兩種情形:
1) 編譯時期:
是你調用了拋異常的方法後,你的調用者沒有處理這個異常.
2) 運行時期:
編譯成功,但是運行的時候出現的異常,運行時期異常的最高父類RuntimeException.函數中拋出RuntimeException或者是他的子類,這個時候函數中不需要聲明,調用者也不需要處理.
RuntimeException應用場景:
對方無論什麼原因傳遞了非法數據,這個非法數據造成後面的計算毫無意義是,拋出運行時異常.
自定義異常
定義: java中沒有完全描述所有的異常,有的異常是java沒有描述的,需要自定義.
注意:凡是異常類都具備可拋性,必須入夥(繼承Exception或RuntimeException)
常用異常介紹:
ArithmeticException:在算術運算中發生的異常,如除以零
NullPointerException:變量還沒有指向一個對象,就引用這個對象的成員
ArrayIndexOutOfBoundsException:訪問的數組對象中不存在的元素.
使用方法:
調用父類構造方法,傳遞異常信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.