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