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