华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java基礎(chǔ) >> 文章內(nèi)容

Java類的封裝

來源:中華考試網(wǎng)  [2020年11月23日]  【

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

  封裝的特點:

  只能通過規(guī)定的方法訪問數(shù)據(jù)。

  隱藏類的實例細(xì)節(jié),方便修改和實現(xiàn)。

  實現(xiàn)封裝的具體步驟如下:

  修改屬性的可見性來限制對屬性的訪問,一般設(shè)為 private。

  為每個屬性創(chuàng)建一對賦值(setter)方法和取值(getter)方法,一般設(shè)為 public,用于屬性的讀寫。

  填寫下面表單即可預(yù)約申請免費試聽java課程!害怕學(xué)不會?助教陪讀,隨時解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國推薦就業(yè)!

預(yù)約申請免費聽java課程

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  在賦值和取值方法中,加入屬性控制語句(對屬性值的合法性進(jìn)行判斷)。

  例 1

  下面以一個員工類的封裝為例介紹封裝過程。一個員工的主要屬性有姓名、年齡、聯(lián)系電話和家庭住址。假設(shè)員工類為 Employee,示例如下:

  public class Employee { private String name; // 姓名 private int age; // 年齡 private String phone; // 聯(lián)系電話 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) { // 對年齡進(jìn)行限制 if (age < 18 || age > 40) { System.out.println("年齡必 須在18到40之間!"); this.age = 20; // 默認(rèn)年齡 } 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 關(guān)鍵字修飾屬性,這就意味著除了 Employee 類本身外,其他任何類都不可以訪問這些屬性。但是,可以通過這些屬性的 setXxx() 方法來對其進(jìn)行賦值,通過 getXxx() 方法來訪問這些屬性。

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

責(zé)編:fushihao

上一篇:Java驗證用戶名和密碼

下一篇: 沒有了

  • 會計考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
江西省| 锡林郭勒盟| 凤山市| 广安市| 镇宁| 榆社县| 寿光市| 大同县| 白城市| 扎鲁特旗| 淮安市| 交城县| 贡觉县| 当雄县| 长葛市| 马公市| 蕉岭县| 吉隆县| 太谷县| 兖州市| 九龙城区| 孝昌县| 黎城县| 莒南县| 武清区| 洪湖市| 大足县| 尼勒克县| 德昌县| 河北区| 香港 | 扶绥县| 汉沽区| 浙江省| 平泉县| 静乐县| 乃东县| 中山市| 天气| 湛江市| 太湖县|