/**
* 註解 : 是一種特殊的注釋, 特殊在於可以被編譯器, vm識別. 本質上是乙個修飾符, 註解都不能修飾語句.
* @override 作用是提醒編譯器, 它修飾的方法是乙個覆蓋方法, 請幫助我們作檢查 , 方法覆蓋條件的檢查.
* 只可以修飾方法.
* * 它可以
* 修飾類(type), 屬性(field), 構造器(constructor), 方法(method),
* 區域性變數(local_variable), 引數(parameter)
* * @suppresswarnings 抑制編譯器警告, 在使用時必須傳參, 說明它內部有屬性.
* * 元註解 : 註解的註解, 約束註解的使用的註解.
* @target 作用是約束註解可以修飾的目標.可以用在什麼位置, 預設情況是它可以修飾任意目標
* elementtype.type 型別(類型別,介面型別)
* elementtype.field 屬性
* elementtype.method 方法
* elementtype.constructor 構造器
* elementtype.parameter 引數
* * @retention 作用是約束註解可以停留在什麼時期, 是只在原始檔中呢, 還是在類檔案中, 還是都在且執行時能獲取.
*/// 自定義註解, 可以修飾任意目標. 這是乙個標記型註解
//@inte***ce myannotation {}
// 自定義註解, 可以修飾任意目標. 這是乙個有引數的註解, 預設可以修飾任意目標
/*@inte***ce myannotation */
/*@target() // 自定義註解只可以修飾類和屬性. 其他都不行了.預設情況下此註解停留在類檔案中
@inte***ce myannotation
*/
@target()
// 自定義註解只可以修飾類和屬性. 其他都不行了.
@retention
(retentionpolicy.runtime)
// myannotation註解就可以在執行時通過反射獲取並處理了..
@inte***ce
myannotation
//@override
@deprecated
@myannotation
(id =
1, name=
"abc"
)class
person
//@override
// ()
public
person
(@deprecated string name,
int age, string gender)
@deprecated
@suppresswarnings()
/*@myannotation(name="zzz")*/
public string getname()
/*@myannotation*/
public
void
setname
(@myannotation string name)
public
intgetage()
public
void
setage
(int age)
public string getgender()
public
void
setgender
(string gender)
@override
/*@myannotation*/
public string tostring()
';}}
/**
* 列舉 : 物件可數的型別, 不能再建立新物件.
*/
enum season
private string color =
"黑色"
;private
season()
private
season
(string color)
public string getcolor()
public
void
setcolor
(string color)
@override
public string tostring()
';}}
public
class
enumtest
}}
enum week
//宣告week列舉類,其中包含星期一至星期日的定義;
// 在main方法中從命令列接收乙個1-7的整數(使用integer.parseint方法轉換),
// 分別代表星期一至星期日,列印該值對應的列舉值,
public
class
enumexer
}public
static
void
main
(string[
] args)
week[
] values = week.
values()
; week value = values[i -1]
; system.out.
println
(value)
; enumexer exer =
newenumexer()
; exer.
printweek
(value)
;// 非靜態方法 它必須依賴物件!!!!!
}}
/**
* 異常 : 程式在執行時出現的非正常狀況, 如果不處理會導致程式崩潰.
* * 異常分類 :
* 1) 按照程度來分 :
* 1) error 嚴重錯誤
* 2) exception 一般問題
* 2) 按照處理方式來分 :
* 1) 受檢異常(checked) 編譯時異常 : 在程式中必須接受檢查和處理的異常
* exception及其子類, runtimeexception及其子類除外.
* * 2) 非受檢異常(unchecked) 執行時異常 : 在程式中不是必須接受檢查和處理的異常.
* error及其子類 太嚴重了
* runtimeexception及其子類 太輕微太常見
* * 無論是受檢異常還是非受檢異常都會導致程式崩潰.
* * 異常必須處理 : 異常的處理方式適用於所有異常, 包括error
* 1) 捕獲
* try catch (可能的異常型別1 引用)
* 2)
* 3)
* */
public
static
void
main
(string[
] args)
catch
(arrayindexoutofbound***ception e)
catch
(numberformatexception e)
catch
(exception e)
// 被保護的語句
system.out.
println
("main end");
// 這是核心**...
}}
/**
* ** : 把**物件當成被**物件來使用.
* 場景 :
* 1 使用者無法直接建立被**物件
* 2 對於被**物件的方法有改進的需求.但是同時不能修改被**類.
*/
inte***ce
houserent
class
fangdong
implements
houserent
}class
fangdong2
implements
houserent
}class
lianjia
implements
houserent
}public
class
proxytest
}
異常 列舉型別 及邏輯結構
1 異常捕獲 我們在程式中經常會遇到各種各樣的異常,如果想要您的程式變得堅強一些,在您的 中應該經常性的使用try catch來進行捕獲異常。語法 try try和catch之間不能有任何 catch 執行過程 如果try中的 沒有出現異常,那麼catch中的 不會執行。如果try中的 出現異常,哪...
異常 反射 列舉
1 包裝類 1 作用 將8 種基本資料型別包裝成類的形式 2 integer character float double byte short long boolean 3 character boolean 繼承與object 類 其餘的繼承於 number類 2 裝箱與拆箱 1 裝箱 將基本資...
列舉和異常
預設繼承類,所以只能實現介面 列舉類構造方法預設為私有方法。列舉可以有屬性,但是屬性需要在構造方法中賦值 public class demo4 enum override public string tostring enumset enumset enumset.allof season.clas...