您好,登錄后才能下訂單哦!
本篇文章為大家展示了深入淺析JAVA中封裝的原理,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
第一節 什么是JAVA中的封裝
面向對象的三大特性:封裝、繼承、多態。
1.概念:將類的某些信息隱藏在類的內部,不允許外部程序直接訪問,而是通過該類提供的方法,來實現對隱藏信息的操作和訪問。
2.好處:
a只能通過規定的方法訪問數據
b隱藏類的實例細節,方便修改和實現
3.封裝的實現步驟
修改屬性的可見性,改為設為private;創建getter/setter方法,用于屬性的讀寫,創建一個特定的方法,一般是gettersetter方法,可以在gettersetter方法中加入屬性控制語句,對屬性值的合法性進行判斷,舉例來說:
public float getScreen(){ return screen; } public void setScreen(float screen){ this.screen=screen; }
第二節 使用包管理JAVA中的類
封裝的類名可能沖突,用包可以解決
1.包的作用,管理Java文件夾,管理同名文件沖突
2.定義包,package關鍵字
3.系統中的包
java.(功能).(類)
java.lang.類 包含java語言基礎的類
java.util.類 包含java與語言中的各種工具類
java.io.類 包含輸入輸出相關功能類
4.包的使用
import 使用關鍵字可以在某個文件中使用其他文件中的類,全部都是小寫
import com.imooc.music.Myclass;
import com.*是包下所有的類
第三節 JAVA中的訪問修飾符
修飾我們屬性和方法的訪問范圍
private 本類
默認 本類 同包
protected 本類 同包 子類
public 本類 同包 子類 其他
第四節 JAVA中的this關鍵字
1.this關鍵字代表當前對象,this.屬性代表當前對象的屬性,this.方法代表當前對象的方法
2.封裝對象屬性的時候經常會用到this關鍵字,例如this.a=a;
第五節 什么是JAVA中的內部類
1.什么是內部類:
內部類是定義在另一個類里面,與之對應,包含內部類的類被稱為外部類。
2.為什么要將一個類定義在另一個類里,清清爽爽獨立不好嗎?
內部類的主要作用是:
內部類提供了更好的封裝,可以把內部類隱藏在外部類之內,不允許同一個包中其他類訪問該類。
內部類中的方法可以直接訪問外部類的所有數據,包括私有數據
內部類所實現的功能使用外部類同樣可以實現,是有時使用內部類會更加方便。
3.內部類有幾種:
成員內部類;靜態內部類;方法內部類和匿名內部類
內部類其實也是外部類的一個成員,只不過這個成員類型是一個類,調用時要先實現外部類,然后才能找到該類下的內部類實現。例:
public class HelloWorld{ public class Inner{ 方法show(); } main函數{ HelloWorld h=new HelloWorld(); Inner i=h.new Inner(); i show; } }
定義了成員內部類后,必須使用外部類對象來創建內部類對象,而不能直接去new一個內部類對象,也就是:內部類 對象名=外部類對象.new 內部類();
第六節 JAVA中的成員內部類
內部類中最常見的也就是成員內部類,即普通內部類。
成員內部類的使用方法:
1.內部類定義在外部類的內部,相當于外部類的一個成員變量的位置,內部類可以使用任意訪問修飾符,如public private protected等
2.內部類中定義的方法,可以訪問外部類中的數據,而不受訪問修飾符的影響
3.定義了成員內部類后,必須使用外部類對象來創建內部類對象,而不能直接去new一個內部類對象,也就是:內部類 對象名=外部類對象.new 內部類();
4.編譯含內部類的程序時,會出現兩個class文件,其中第二個是外部類的.class文件,第一個是內部類.class文件,成員內部類的class文件總是這樣,外部類名$內部類名.class 這是內部類.class名字
注意:
a.外部類不能直接使用內部類的成員和方法,可以先創建內部類對象,然后通過它們的對象來訪問其成員變量和方法;
b.如內部類和外部類具有相同的成員變量和方法,內部類默認訪問自己的成員變量或方法。如果要訪問外部類的成員變量,可以使用this關鍵字,外部類.this.屬性。如:
第七節 JAVA中的靜態內部類
靜態內部類是static修飾的內部類,這種內部類的特點是:
1、靜態內部類不能直接訪問外部類的非靜態成員,但可以通過 new 外部類().成員 的方式訪問
2、 如果外部類的靜態成員與內部類的成員名稱相同,可通過“類名.靜態成員”訪問外部類的靜態成員;如果外部類的靜態成員與內部類的成員名稱不相同,則可通過“成員名”直接調用外部類的靜態成員
3、 創建靜態內部類的對象時,不需要外部類的對象,可以直接創建 內部類 對象名= new 內部類();
運行結果,訪問外部類中的b:1
訪問內部類中的b:2
第八節 JAVA中的方法內部類
方法內部類就是內部類定義在外部類的方法中,方法內部類只在該方法的內部可見,即只在該方法內可以使用。
注意:由于方法內部類不能在外部類的方法以外的地方使用,因此方法內部類不能使用訪問控制符和 static 修飾符。
上述內容就是深入淺析JAVA中封裝的原理,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。