Posted on 2006-11-21 19:15
邵立軍 閱讀(333)
評論(0) 編輯 收藏 所屬分類:
SCJP
聲明和修飾符
1、類訪問
????? 默認(rèn)訪問:只能實現(xiàn)同一個包的訪問。
???? ?公有訪問:帶有一個public修飾,是最開放的類修飾。
????? 最終(final)類:被final修飾的類不能做其他類的父類。只能被實例化。
????? 抽象類?:不能夠?qū)嵗?,只能夠子類繼承,其中第一個能夠?qū)嵗淖宇惐仨殞崿F(xiàn)(重寫)所有抽象父類沒有實現(xiàn)的抽象方法(所以抽象方法不可以是private)。有抽象方法的類,必須是抽象類。抽象方法一定要以分號結(jié)尾,不能有方法體。
2、方法和變量聲明及修飾符
???????訪問方法有:一個類中的方法代碼是否能夠訪問另一個類的成員(產(chǎn)生一個被訪問方法所在類的對象,在通過點運算訪問);一個子類是否能夠繼承其父類的成員(直接寫方法名訪問或this.<方法名>)。
??????訪問級別:
公有成員:用public修飾時,無論屬于哪個包,都能夠訪問該成員(假設(shè)類自身是可見的)。
保護(hù)成員:用protected修飾時,可以實現(xiàn)同一個包的訪問,不同包的時候只能是繼承關(guān)系才能被訪問.
默認(rèn)成員:無修飾符,和保護(hù)成員類似,只是不同包時就算是繼承也不能訪問.
???????? 私有成員:用private修飾時,訪問級別最低,只限于自己類訪問.
???? 其他方法:
???????? 最終方法:final關(guān)鍵字防止方法在子類中重寫。
??????? ?抽象方法:(參考類訪問中的抽象類)。
?????????同步方法:synchronized關(guān)鍵字指出方法一次只能一個線程訪問 。
???????? 本地方法:native
?????????stricfp方法
??? 變量聲明:
??????? 實例變量:可以使用三個訪問級別中的任何一個;可以用final,tranisent表示??梢圆挥脤懗跏蓟瘮?shù)值,當(dāng)如果是被final修飾的必須給于初始化。
??????? 局部變量:只能被final修飾,必須賦予初始化數(shù)值。
????????瞬間變量:如果把實例變量標(biāo)示為transient,則是告訴JVM當(dāng)時圖串行化聲明這個變量的對象時跳過(忽略)它。
????????揮發(fā)變量:volatile修飾符告訴JVM訪問該變量的線程必須使其自己時該變量的私有拷貝與內(nèi)存中的主拷貝一致。
???靜態(tài)變量和方法:
?????? 靜態(tài)方法只能調(diào)用靜態(tài)方法只能調(diào)用靜態(tài)變量。
????? 訪問靜態(tài)變量時格式可以寫為<類名>.<變量名>或直接訪問。
???? ?訪問靜態(tài)方法new對象訪問或同靜態(tài)變量訪問或直接訪問。
3、接口設(shè)計:
????? 接口聲明:
??????所有接口方法隱含都是公有的和抽象的;?接口方法一定不能使靜態(tài)的;不需在方法聲明中實際輸入public和abstract修飾符,但是,該方法仍然總是公有的和抽象的;定義在接口中的所有變量必須是公有的 、靜態(tài)的和最終的(必須給其初始化)--換句話說,借口只能聲明常量,而不能聲明實例變量;而不能聲明實例變量;接口可以并只能擴展一個或多個其他接口。
????? 設(shè)計接口:
????? 未來自被聲明接口的所有方法提供具體(非抽象)設(shè)計;在設(shè)計方法上聲明費檢查異常,而不是那些被接口方法聲明的異常,或者被接口方法聲明的那些異常的子類;保持接口方法的簽名,保持相同的返回類型(但是不必聲明在接口方法聲明中聲明的異常)。