欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中封裝的實現(xiàn)方法詳解

 更新時間:2018年10月29日 08:40:02   投稿:laozhang  
在本篇文章里我們給大家詳細分享了關于java中封裝的實現(xiàn)方法,有需要的朋友們跟著學習下。

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

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

2、如何進行封裝?

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

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

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

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

/*
   編程實現(xiàn)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 + "真好玩!");
  }
}

相關文章

  • Spring?EnableAsync注解異步執(zhí)行源碼解析

    Spring?EnableAsync注解異步執(zhí)行源碼解析

    這篇文章主要為大家介紹了Spring?EnableAsync注解源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 深入淺析Netty 在 Dubbo 中是如何應用的

    深入淺析Netty 在 Dubbo 中是如何應用的

    國內知名框架 Dubbo 底層使用的是 Netty 作為網(wǎng)絡通信,那么內部到底是如何使用的呢?今天通過本文給大家詳細講解,對Netty 在 Dubbo中應用相關知識感興趣的朋友跟隨小編一起看看吧
    2020-05-05
  • SpringBoot中實現(xiàn)數(shù)據(jù)字典的示例代碼

    SpringBoot中實現(xiàn)數(shù)據(jù)字典的示例代碼

    這篇文章主要介紹了SpringBoot中實現(xiàn)數(shù)據(jù)字典的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Java實現(xiàn)解析dcm醫(yī)學影像文件并提取文件信息的方法示例

    Java實現(xiàn)解析dcm醫(yī)學影像文件并提取文件信息的方法示例

    這篇文章主要介紹了Java實現(xiàn)解析dcm醫(yī)學影像文件并提取文件信息的方法,結合實例形式分析了java基于第三方庫文件針對dcm醫(yī)學影像文件的解析操作相關實現(xiàn)技巧,需要的朋友可以參考下
    2018-04-04
  • Java?switch?case語句的用法及常見問題

    Java?switch?case語句的用法及常見問題

    這篇文章主要介紹了Java?switch?case語句的用法及常見問題,Java中的switch語句是一種多分支選擇結構,用于替代多個if...elseif的情況,它根據(jù)某個變量的值,執(zhí)行匹配分支中的代碼塊,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • eclipse啟動一個Springboot項目

    eclipse啟動一個Springboot項目

    本文主要介紹了eclipse啟動一個Springboot項目,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Java實現(xiàn)Dijkstra算法的示例代碼

    Java實現(xiàn)Dijkstra算法的示例代碼

    Dijkstra(迪杰斯特拉)算法是典型的單源最短路徑算法,用于計算一個節(jié)點到其他所有節(jié)點的最短路徑。本文主要介紹了實現(xiàn)這一算法的Java代碼,需要的可以參考一下
    2022-07-07
  • Spring Cloud OAuth2中/oauth/token的返回內容格式

    Spring Cloud OAuth2中/oauth/token的返回內容格式

    Spring Cloud OAuth2 生成access token的請求/oauth/token的返回內容就需要自定義,本文就詳細介紹一下,感興趣的可以了解一下
    2021-07-07
  • MyBatis中特殊符號的轉義

    MyBatis中特殊符號的轉義

    編寫SQL中會用到<,>,,>= 等,但是在mybatis中不可以這么寫,與xml文件的元素沖突,所以需要轉義,本文主要介紹了MyBatis中特殊符號的轉義,主要介紹了兩種轉義方式,感興趣的可以了解一下
    2024-01-01
  • springboot中實現(xiàn)上傳文件的功能簡單示例

    springboot中實現(xiàn)上傳文件的功能簡單示例

    這篇文章主要給大家介紹了關于springboot中實現(xiàn)上傳文件功能的相關資料,在Spring Boot中實現(xiàn)文件上傳下載功能相對簡單,文中給出了代碼示例,需要的朋友可以參考下
    2023-09-09

最新評論