程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java入門 第二季第二章 封裝

Java入門 第二季第二章 封裝

編輯:JAVA綜合教程

Java入門 第二季第二章 封裝


面向對象三大特性:封裝、繼承、多態   2-1 什麼是Java中的封裝   ★概念 將類的某些信息 隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。 ★好處 a.只能通過規定的方法訪問數據 b.隱藏類的實例細節,方便修改和實現 ★封裝的實現步驟 \   2-2 使用 包 管理 Java 中的類   ★包的作用 a.管理Java文件 b.解決同名文件沖突 ★定義包:package 包名 注:必須放在Java源程序的第一行 包名間可以使用“ . ”號隔開(層次關系) eg:com.immoc.MyClass   例如:音樂類——MyClassMusic -music com.imooc.music.MyClassMusic -movie com.imooc.movie.MyClassMusic ★系統中的包 java.(功能).(類) eg:java.lang.(類) 包含java語言基礎的類 java.util.(類) 包含java語言中各種工具類 java.io.(類) 包含輸入、輸出相關功能的類 ★包的使用 a. 可以通過import關鍵字,在某個文件中使用其他文件中的類 import com.imooc.music.MyClass b. Java中,包的命名規范是全小寫字母拼寫 c. 使用的時候不但可以加載某個包下的所有文件 eg:com.imooc.* 其中 “ * ” 表示所有文件 也可以加載某個具體子包下的所有文件 eg:com.imooc.music.*   2-3 Java 中的訪問修飾符   訪問修飾符——可以修飾屬性和方法的訪問范圍   ★訪問修飾符的總結 \   形象化類比系列圖   圖:類的屬性和方法 —— 人的錢 \   圖:private —— 鎖在保險櫃裡,只有自己可以用 \   圖:默認 —— 同一個屋檐下的人可以使用 \   圖:protected —— 跟我有關系的也可以使用 \   圖:public —— 所有人都可以使用 \   2-4 Java 中的 this 關鍵字   ★this關鍵字代表當前對象 this.屬性 操作當前對象的屬性 this.方法 調用當前對象的方法   ★封裝對象的屬性的時候,經常會使用 this 關鍵字   Eclipse提供了自動生成 getter 和 setter 的功能,步驟:   Step 1:點擊Source,選擇 Generate Getters and Setters \   Step 2:選擇要生成的方法,點擊 確定 \   效果圖:this關鍵字 避免了變量重名導致的混亂 \   2-5 什麼是 Java 中的內部類   內部類(Inner Class)就是定義在另外一個類裡面的類。與之對應,包含內部類的類被稱為外部類。   ★內部類的主要作用 a. 內部類提供了更好的封裝,可以把內部類隱藏在外部類之內,不允許同一個包中的其他類訪問該類 b.內部類的方法可以直接訪問外部類的所有數據,包括私有的數據 c. 內部類所實現的功能使用外部類同樣可以實現,只是有時使用內部類更方便 ★內部類的種類 成員內部類 靜態內部類 方法內部類 匿名內部類   圖:示例 \     2-6 Java 中的 成員內部類   內部類中最常見的就是成員內部類,也稱為普通內部類。   我們來看如下代碼: \   運行結果為: \   從上面的代碼中我們可以看到,成員內部類的使用方法: Inner 類定義在 Outer類的內部,相當於 Outer類 的一個成員變量的位置 Inner類 可以使用任意訪問控制符,如 public、protected、private等 Inner 類中定義的test()方法可以直接訪問 Outer類中的數據,而不受訪問控制符的影響,如直接訪問 Outer類中的私有屬性 a 定義了成員內部類後,必須使用外部類對象來創建內部類對象,而不能直接去 new 一個內部類對象, 即:內部類 對象名 = 外部類對象.new 內部類(); 編譯上面的程序後,會發現產生了兩個 .class 文件 \ 其中,第二個是外部類的 .class 文件,第一個是內部類的 .class文件,即成員內部的 .class 文件總是這樣:外部類名$內部類名.class   另外, ①外部類是不能直接使用內部類的成員和方法 \   可先創建內部類的對象,然後通過內部類的對象來訪問其成員變量和方法。   圖:修正版 \   ②如果外部類和內部類具有相同的成員變量或方法,內部類默認訪問自己的成員變量或方法。 如果要訪問外部類的成員變量,可以使用 this 關鍵字。如\   運行結果: \   我的進一步探究:   探究1: \ 編譯器會報錯: \   探究2: \   運行結果: \   2-7 Java 中的 靜態內部類   靜態內部類是 static 修飾的內部類,這種內部類的特點是: 靜態內部類不能直接訪問外部類的非靜態成員,但可以通過 new 外部類().成員 的方式訪問 如果外部類的靜態成員與內部類的成員名稱相同,可通過“類名.靜態成員”訪問外部類的靜態成員;如果外部類的靜態成員與內部類的成員名稱不相同,則可通過“成員名”直接調用外部類的靜態成員 創建靜態內部類的對象時,不需要外部類的對象,可以直接創建內部類 對象名 = new 內部類(); \   運行結果 : \   我的進一步探究: \   運行結果: \   2-8 Java 中的 方法內部類   方法內部類 就是 內部類 定義在 外部類 的方法中方法內部類只在該方法的內部可見,即只在該方法內可以使用。 \  

一定要注意哦:由於方法內部類不能在外部類的方法以外的地方使用,因此方法內部類不能使用訪問控制符和 static 修飾符

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved