訪問修飾符的問題
前面講到,修飾缺省的成員在 本類 和 同包 中訪問,protected修飾的成員可以在? 本類、同包 和 子類訪問。我在在同一個(gè)包下建立父類Animal(成員設(shè)置為default),子類都可以繼承,我想是在同一個(gè)包內(nèi)的緣故。
于是我另外建立了一個(gè)包,建立Animal類(我將成員設(shè)置成了protected,我以為可以被子類繼承)的子類Dog類,eclipse報(bào)錯(cuò),要求我將成員設(shè)置為public,或者用getter方法,這是為什么?protected的范圍不是 本類、同包 和 子類嗎?
2016-01-30
你也說了你自己另外建立了一個(gè)包,這個(gè)包中又建立了 Dog類 這個(gè)時(shí)候 Dog 和 Animal 不在同一個(gè)包下面
所以這個(gè)時(shí)候Aniaml 和 Dog 不在同一個(gè)包下面
所以你用protected 修飾的屬性當(dāng)然不能被子類繼承。