中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中封裝的實現方法詳解

發布時間:2020-10-15 19:10:18 來源:腳本之家 閱讀:148 作者:laozhang 欄目:編程語言

1、封裝是什么?以及為什么要進行封裝?

通常情況下可以給成員變量賦值一些合法但不合理的數值,這種情況在編譯階段和運行階段都不會報錯或給出任何的提示信息,此數值雖然合法但與現實生活不符;為了避免上述問題的發生,就需要對成員變量進行密封包裝處理來保證該成員變量的合法合理性,這種機制就叫做封裝。封裝可以被認為是一個保護屏障,防止該類的代碼和數據被外部類定義的代碼隨機訪問。要訪問該類的代碼和數據,必須通過嚴格的接口控制。

2、如何進行封裝?

(1)私有化成員變量,使用private關鍵字修飾;

(2)提供公有的get和set方法,在方法體中進行合理值的判斷,使用public關鍵字修飾;

(3)在構造方法中使用set方法進行合理值的判斷;

3、事例如下/*Person.java*/

/*
   編程實現Person類的封裝
 */
public class Person{
  //1.私有化成員變量,使用private關鍵字修飾
  private String name; 
  private int age;
  private String country;
  //使用static關鍵字修飾成員變量表示提升為類層級只有一份被所有對象共享
  //public static String country;
 
  //3.在構造方法中調用set方法進行合理值的判斷
  public Person(){
  }
  public Person(String name, int age, String country){
    setName(name);
    setAge(age);
    setCountry(country);
  }
 
  //2.提供公有的get和set方法,在方法體中進行合理值的判斷
  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 > 0 && age < 150){
      this.age = age;
    }else{
      System.out.println("年齡不合理!!!");
    }
  }
  public String getCountry(){
    return country;
  }
  public void setCountry(String country){
    this.country = country;
  }
 
  public void show(){
    System.out.println("我是" + getName() + ",今年" + getAge() + "歲了,來自" + getCountry() + "!");
  }
 
  //自定義成員方法描述吃飯的行為
  public void eat(String food){
    System.out.println(food + "真好吃!");
  }
  //自定義成員方法描述娛樂的行為
  public void play(String game){
    System.out.println(game + "真好玩!");
  }
}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江川县| 六枝特区| 安泽县| 锦州市| 天津市| 罗江县| 宽城| 晋江市| 呼和浩特市| 区。| 巴林左旗| 常熟市| 永顺县| 民勤县| 大同县| 庆元县| 云和县| 浦江县| 黄浦区| 上栗县| 公主岭市| 漠河县| 奇台县| 乌鲁木齐县| 邯郸县| 墨竹工卡县| 离岛区| 钦州市| 任丘市| 达孜县| 渑池县| 黔西| 石台县| 皮山县| 夏津县| 公主岭市| 武宣县| 滁州市| 西峡县| 通江县| 邵武市|