日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

1.1 Java类的封装

發布時間:2025/3/20 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.1 Java类的封装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

封裝將類的某些信息隱藏在類內部,不允許外部程序直接訪問,只能通過該類提供的方法來實現對隱藏信息的操作和訪問。例如:一臺計算機內部極其復雜,有主板、CPU、硬盤和內存, 而一般用戶不需要了解它的內部細節,不需要知道主板的型號、CPU 主頻、硬盤和內存的大小,于是計算機制造商將用機箱把計算機封裝起來,對外提供了一些接口,如鼠標、鍵盤和顯示器等,這樣當用戶使用計算機就非常方便。

封裝的特點:

  • 只能通過規定的方法訪問數據。
  • 隱藏類的實例細節,方便修改和實現。

實現封裝的具體步驟如下:

  • 修改屬性的可見性來限制對屬性的訪問,一般設為 private。
  • 為每個屬性創建一對賦值(setter)方法和取值(getter)方法,一般設為 public,用于屬性的讀寫。
  • 在賦值和取值方法中,加入屬性控制語句(對屬性值的合法性進行判斷)。
  • 例 1
    下面以一個員工類的封裝為例介紹封裝過程。一個員工的主要屬性有姓名、年齡、聯系電話和家庭住址。假設員工類為 Employee,示例如下:

    public class Employee {private String name; // 姓名private int age; // 年齡private String phone; // 聯系電話private String address; // 家庭住址public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {// 對年齡進行限制if (age < 18 || age > 40) {System.out.println("年齡必須在18到40之間!");this.age = 20; // 默認年齡} else {this.age = age;}}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;} }

    如上述代碼所示,使用 private 關鍵字修飾屬性,這就意味著除了 Employee 類本身外,其他任何類都不可以訪問這些屬性。但是,可以通過這些屬性的 setXxx() 方法來對其進行賦值,通過 getXxx() 方法來訪問這些屬性。

    在 age 屬性的 setAge() 方法中,首先對用戶傳遞過來的參數 age 進行判斷,如果 age 的值不在 18 到 40 之間,則將 Employee 類的 age 屬性值設置為 20,否則為傳遞過來的參數值。

    編寫測試類 EmployeeTest,在該類的 main() 方法中調用 Employee 屬性的 setXxx() 方法對其相應的屬性進行賦值,并調用 getXxx() 方法訪問屬性,代碼如下:

    public class EmployeeTest {public static void main(String[] args) {Employee people = new Employee();people.setName("王麗麗");people.setAge(35);people.setPhone("13653835964");people.setAddress("河北省石家莊市");System.out.println("姓名:" + people.getName());System.out.println("年齡:" + people.getAge());System.out.println("電話:" + people.getPhone());System.out.println("家庭住址:" + people.getAddress());} }

    運行該示例,輸出結果如下:

    姓名:王麗麗 年齡:35 電話:13653835964 家庭住址:河北省石家莊市

    通過封裝,實現了對屬性的數據訪問限制,滿足了年齡的條件。在屬性的賦值方法中可以對屬性進行限制操作,從而給類中的屬性賦予合理的值, 并通過取值方法獲取類中屬性的值(也可以直接調用類中的屬性名稱來獲取屬性值)。

    總結

    以上是生活随笔為你收集整理的1.1 Java类的封装的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。