局部變量必須初始化 父類(lèi)的protected方法,子類(lèi)能否繼承,能否訪問(wèn)?
父類(lèi)的protected方法,子類(lèi)能否繼承,能否訪問(wèn)?包內(nèi)或包外的任何類(lèi)都可以訪問(wèn)公共類(lèi)、泛型變量和方法;可以訪問(wèn)受保護(hù)類(lèi)、泛型變量和方法、包內(nèi)的任何類(lèi)以及包外繼承此類(lèi)的子類(lèi);可以訪問(wèn)私有類(lèi),泛型變量
父類(lèi)的protected方法,子類(lèi)能否繼承,能否訪問(wèn)?
包內(nèi)或包外的任何類(lèi)都可以訪問(wèn)公共類(lèi)、泛型變量和方法;可以訪問(wèn)受保護(hù)類(lèi)、泛型變量和方法、包內(nèi)的任何類(lèi)以及包外繼承此類(lèi)的子類(lèi);可以訪問(wèn)私有類(lèi),泛型變量和方法不能被包內(nèi)或包外的任何類(lèi)訪問(wèn);如果一個(gè)類(lèi)、泛型變量和方法不被這三個(gè)方法修改,那么它是友好的,所以包內(nèi)的任何類(lèi)都可以訪問(wèn)它,并且包外的任何類(lèi)都不能訪問(wèn)它(包括從包外繼承的這個(gè)類(lèi)的子類(lèi))。因此,這種類(lèi)、類(lèi)變量和方法對(duì)包內(nèi)的其他類(lèi)是友好的和開(kāi)放的,但對(duì)包外的其他類(lèi)是封閉的。
protected可以修飾方法或者變量嗎?
受保護(hù)修改的變量或方法只能由當(dāng)前類(lèi)、同一包類(lèi)或子類(lèi)繼承或使用。
一般來(lái)說(shuō),為了實(shí)現(xiàn)純封裝,使用private,而protected可以封裝或繼承。我不知道你是否學(xué)會(huì)了如何用Android開(kāi)發(fā)接口類(lèi)(使用Java)。您需要繼承activity類(lèi),并重寫(xiě)oncreate()、onpause()、ondestroy()和其他方法。這些方法受到保護(hù)。如果類(lèi)newobject中有受保護(hù)的修改方法或?qū)傩?,則繼承相同的函數(shù),然后:
在同一個(gè)包中:
可以在同一個(gè)包的子類(lèi)中實(shí)例化類(lèi)newobject以獲取對(duì)象,然后可以使用該對(duì)象訪問(wèn)受保護(hù)的修改方法或?qū)傩?,i、 e.操作入口。
您可以在同一包的非子類(lèi)中實(shí)例化newobject類(lèi)以獲取對(duì)象,然后使用該對(duì)象訪問(wèn)受保護(hù)的已修改方法或?qū)傩浴?/p>
可以通過(guò)在同一包的非子類(lèi)(子類(lèi)和newobject類(lèi)在同一包中)中實(shí)例化newobject類(lèi)的子類(lèi)來(lái)獲取對(duì)象,然后對(duì)象可以訪問(wèn)受保護(hù)的修改方法或?qū)傩浴?梢栽谕粋€(gè)包的NewObject類(lèi)的子類(lèi)中調(diào)用NewObject類(lèi)中受保護(hù)的modified方法或?qū)傩裕词鼙Wo(hù)的modification的方法和屬性可以被同一個(gè)包的子類(lèi)繼承。
在另一個(gè)包中:
您可以在另一個(gè)包的子類(lèi)中實(shí)例化newobject類(lèi)以獲取對(duì)象,但不能使用該對(duì)象請(qǐng)求受保護(hù)的修改方法或?qū)傩浴?/p>
您可以在不同包的非子類(lèi)中實(shí)例化newobject類(lèi)以獲取對(duì)象,但不能使用該對(duì)象詢問(wèn)受保護(hù)的已修改方法或?qū)傩浴?/p>
可以通過(guò)在不同包的非子類(lèi)(子類(lèi)和newobject類(lèi)不在同一個(gè)包中)中實(shí)例化newobject類(lèi)的子類(lèi)來(lái)獲取對(duì)象,但它不能用于詢問(wèn)受保護(hù)的修改方法或?qū)傩?。可以在同一個(gè)包的NewObject類(lèi)的子類(lèi)中調(diào)用NewObject類(lèi)中受保護(hù)的modified方法或?qū)傩?,即受保護(hù)的modification的方法和屬性可以被不同包的子類(lèi)繼承。