java中protected關(guān)鍵字的用法

這篇文章運(yùn)用了實(shí)例代碼展示java中protected關(guān)鍵字的用法,代碼非常詳細(xì),可供感興趣的小伙伴們參考借鑒,希望對(duì)大家有所幫助。

在班瑪?shù)鹊貐^(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營(yíng)銷(xiāo)型網(wǎng)站建設(shè),外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè),班瑪網(wǎng)站建設(shè)費(fèi)用合理。

首先我們來(lái)看一下如下兩個(gè)示例:

示例一:

//包A中有一個(gè)動(dòng)物類(lèi)  
package testa;  
public class Animal {  
    protected void crowl(String c){  
        System.out.println(c);  
    }  
}

示例二:

package testb;
import testa.Animal;
 
class Cat extends Animal 
{  
    
}  
public class Rat extends Animal{  
    public void crowl(){  
              this.crowl("zhi zhi"); //沒(méi)有問(wèn)題,繼承了Animal中的protected方法——crowl(String)  
              Animal ani=new Animal();
              ani.crowl("animail jiaojiao"); //wrong, The method crowl(String) from the type Animal is not visible 
              Cat cat=new Cat();  
              cat.crowl("miao miao"); //wrong, The method crowl(String) from the type Animal is not visible  
    }  
}

既然,貓和鼠都繼承了動(dòng)物類(lèi),那么在鼠類(lèi)的作用范圍內(nèi),看不到貓所繼承的crowl()方法呢?

問(wèn)題解答:

protected受訪問(wèn)保護(hù)規(guī)則是很微妙的。雖然protected域?qū)λ凶宇?lèi)都可見(jiàn)。但是有一點(diǎn)很重要,不同包時(shí),子類(lèi)只能在自己的作用范圍內(nèi)訪問(wèn)自己繼承的那個(gè)父類(lèi)protected域,而無(wú)法到訪問(wèn)別的子類(lèi)(同父類(lèi)的親兄弟)所繼承的protected域和父類(lèi)對(duì)象的protected域ani.crow1()。說(shuō)白了就是:老鼠只能叫"zhi,zhi"。即使他能看見(jiàn)貓(可以在自己的作用域內(nèi)創(chuàng)建一個(gè)cat對(duì)象),也永遠(yuǎn)無(wú)法學(xué)會(huì)貓叫。

也就是說(shuō),cat所繼承的crowl方法在cat類(lèi)作用范圍內(nèi)可見(jiàn)。但在rat類(lèi)作用范圍內(nèi)不可見(jiàn),即使rat,cat是親兄弟也不行。

另外: 這就是為什么我們?cè)谟胏lone方法的時(shí)候不能簡(jiǎn)單的直接將對(duì)象aObject.clone()出來(lái)的原因了。而需要在aObject.bObject=(Bobject)this.bObject.clone();

總結(jié):

當(dāng)B extends A的時(shí)候,在子類(lèi)B的作用范圍內(nèi),只能調(diào)用本子類(lèi)B定義的對(duì)象的protected方法(該方法從父類(lèi)A中繼承而來(lái))。而不能調(diào)用其他A類(lèi)(A 本身和從A繼承)對(duì)象的protected方法。

看完上述內(nèi)容,你們對(duì)java中的protected關(guān)鍵字有進(jìn)一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前題目:java中protected關(guān)鍵字的用法
文章轉(zhuǎn)載:http://muchs.cn/article42/ihjpec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、App開(kāi)發(fā)微信公眾號(hào)、自適應(yīng)網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)