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