您好,登錄后才能下訂單哦!
protect是java中的權限關鍵字,一般是指定使用的范圍。本文分享的是java中的protect用法介紹,可能大家對java并不陌生,或者從來沒有了解過java。但是不用擔心,今天小編會以最簡單的描述來講解java的原理。
protected:
父類的被protected修飾的類成員包內可見,并且對其子類可見。
父類與子類不在同一個包里,子類只可以訪問從父類繼承的protected成員,不能訪問父類實例化的成員。
我們可以通過以下幾個關于protected方法可見性的例子來進一步掌握protected關鍵字。在碰到涉及protected成員的調用時,首先要確定出該protected成員來自何方,其可見性范圍是什么,然后就可以判斷出當前用法是否可行了
例子:
//示例一 package p1; public class Father1 { protected void f() {} // 父類Father1中的protected方法 } package p1; public class Son1 extends Father1 {} package p11; public class Son11 extends Father1{} package p1; public class Test1 { public static void main(String[] args) { Son1 son1 = new Son1(); son1.f(); // Compile OK ----(1) son1.clone(); // Compile Error ----(2) Son11 son = new Son11(); son11.f(); // Compile OK ----(3) son11.clone(); // Compile Error ----(4) } }
對于上面的示例,首先看(1)(3),其中的f()方法從類Father1繼承而來,其可見性是包p1及其子類Son1和Son11,而由于調用f()方法的類Test1所在的包也是p1,因此(1)(3)處編譯通過。其次看(2)(4),其中的clone()方法的可見性是java.lang包及其所有子類,對于語句“son1.clone();”和“son11.clone();”,二者的clone()在類Son1、Son11中是可見的,但對Test1是不可見的,因此(1)(3)處編譯不通過。
總結
protected是最難理解的一種Java類成員訪問權限修飾詞。在編程中,碰到涉及protected的調用時,首先要確定出該protected成員來自何方,其可見性范圍是什么,然后就正確無誤的使用了。
以上就是java中的protect用法介紹做了簡略的講解,當然詳細使用上面的不同還得要大家自己使用過才干領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。