java的四個(gè)訪問(wèn)權(quán)限修飾符 java為什么不能用protected修飾類?
java為什么不能用protected修飾類?外部類只能通過(guò)public或default進(jìn)行修改我的理解是這樣的:這些修改權(quán)限是針對(duì)類中的那些變量、方法和內(nèi)部類的,而外部類已經(jīng)在最外層(也就是說(shuō),沒(méi)有
java為什么不能用protected修飾類?
外部類只能通過(guò)public或default進(jìn)行修改我的理解是這樣的:這些修改權(quán)限是針對(duì)類中的那些變量、方法和內(nèi)部類的,而外部類已經(jīng)在最外層(也就是說(shuō),沒(méi)有諸如哪個(gè)類是內(nèi)部的或哪個(gè)類的子類這樣的范圍)。該類作為一個(gè)單獨(dú)的文件加載,不能作為私有或受保護(hù)的文件進(jìn)行修改[解釋如下]。只有類中的那些變量方法才能在訪問(wèn)權(quán)限方面進(jìn)行討論。上面的討論更有意義:Public:(在類中修改為Public的所有變量、方法和內(nèi)部類)對(duì)所有類都是可見(jiàn)的。Protected:(在類中修改為Protected的所有變量、方法和內(nèi)部類)對(duì)同一包中的類和所有子類可見(jiàn)。Default(即Default,write nothing):(在類中修改為Default的所有變量、方法和內(nèi)部類)在同一個(gè)包中可見(jiàn)。Private:(在類中修改為Private的所有變量、方法和內(nèi)部類)在同一個(gè)類(本身)中可見(jiàn)。即:討論訪問(wèn)權(quán)的含義為類的內(nèi)部?jī)?nèi)容。在這種情況下,我們?yōu)槭裁匆苯右?guī)定只有內(nèi)部類可以使用訪問(wèn)修飾符來(lái)修改外部類或類呢?
1. 現(xiàn)有包的概念:public和default可以區(qū)分這個(gè)外部類,并且可以劃分不同的包(default modified class,public modified class只有在不能引入其他包的情況下才能導(dǎo)入)?1) 公開(kāi)和違約之間有足夠的區(qū)別。Public代表Public,not writed代表default,并且沒(méi)有必要添加一個(gè)受保護(hù)的累贅。2) protected還包含不同包子類的訪問(wèn)權(quán)限的概念。外部類的最外層是package,因此對(duì)外部類使用protected沒(méi)有意義,并且package沒(méi)有繼承關(guān)系。
2. 內(nèi)部類的概念:當(dāng)存在內(nèi)部類時(shí),訪問(wèn)修飾符就變得有意義。(類也成為嵌套的成員。當(dāng)然,您需要訪問(wèn)修飾符。)