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

溫馨提示×

溫馨提示×

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

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

Java封裝的概念是什么

發布時間:2022-05-13 09:17:34 來源:億速云 閱讀:97 作者:zzz 欄目:開發技術

這篇文章主要介紹“Java封裝的概念是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java封裝的概念是什么”文章能幫助大家解決問題。

封裝

封裝的概念

將類的某些信息隱藏在類的內部,不允許外部程序直接訪問,而是通過該類提供的方法來對隱藏的信息進行操作和訪問。

為什么需要封裝?

當我們創建一個類的對象后,我們可以通過“對象.屬性”的方式,對對象的屬性進行賦值。這里賦值操作要受到 屬性的數據類型和存儲范圍的制約。除此之外,沒有其他制約條件,但是,在實際問題中,我們往往需要給屬性賦值加入額外的限制條件。這個條件就不能在屬性聲明時體現,我們只能通過方法進行限制性條件的添加。同時我們需要避免用戶再使用“對象.屬性”的方式對屬性進行賦值,則需要將屬性聲明為私有的(private)。

封裝的優點:

1. 良好的封裝能夠減少耦合。

2. 類內部的結構可以自由修改。

3. 可以對成員變量進行更精確的控制。

4. 隱藏信息,實現細節。

封裝的實現步驟

(1)將屬性修改為private

(2)創建getter/setter方法,通過這兩種方法對數據進行獲取和設定,對象通過調用這兩種發方法實現對數據的讀寫。

class person{
  private int age;//修改屬性為private
public int getAge(){
  return age;
}
public void setAge(int a){
   age = a;
   }
 }

封裝 隱藏對象內部的復雜性,只對外公開簡單的接口便于外部調用,封裝性的體現,需要權限修飾符來配合。

Java中的包

Java中的包是為了更好的實現項目中類的管理,解決同名文件的沖突,提到java中的包那么我們就不得不提到package關鍵字,我們一般使用package聲明類或接口所屬的包,聲明在源文件的首行,比如 package java.lang,每 . 一次就代表一層文件目錄,同一個包下不能命名同名的接口,類,不同的包可以,對于包的使用則需要使用import關鍵字,在源文件中顯示的使用import結構導入指定包下的類,接口,通常import聲明在包的聲明和類的聲明之間,java中,包的名字規范是全小寫的字母拼寫

java中類的成員-構造器

任何一個類都有構造器,用來創建對象和初始化對象的屬性,創建類的對象的方法:new+構造器,如 Person p = new Person();如果沒有顯式的定義類的構造器的話,則系統默認提供一個空參的構造器

定義構造器的格式

權限修飾符 類名 (形參列表){}

總結:屬性賦值的先后順序:

1默認初始化

2顯式初始化

3構造器中初始化

4通過“對象.方法”或“對象.屬性”的方法,賦值

java中的this關鍵字

this關鍵字可以用來修飾:屬性,方法構造器,this理解為:當前對象 或當前正在創建的對象

在類的方法中,我們可以使用“this.屬性”或“this.方法”的方式,調用 當前對象屬性或方法。但是通常情況下,我們都選擇省略“this.”。特殊情況下,如果方法的形參和類的屬性同名時,我們必須顯示的使用“this.變量”的方式,表面此變量為屬性。

在類的構造器也是一樣,調用一個空參的構造器:this();調用有參數的 比如 public Person (int age) 就可以用 this(age)來進行調用,但是構造器中不能自己調用自己只能調用其他的構造器,如果有n個構造器,那么只有n-1個構造器可以使用this這樣的方式來調用,且構造器this調用必須聲明在構造器的首行,this也可以用來進行對象之間的比較大小。

public class Boy {
    private int age;
    public int getAge() {
        return age;
    }
    public void setAge(int a) {
        age = a;
    }
    public void compare(Boy boy) {
        if (this.age > boy.age) {
            System.out.println("YES");
        } else if (this.age < boy.age) {
            System.out.println("No");
        }
    }
}

關于“Java封裝的概念是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

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

AI

襄汾县| 遂溪县| 昆明市| 德惠市| 阿拉善右旗| 绥化市| 行唐县| 阳山县| 双城市| 平果县| 阿鲁科尔沁旗| 怀安县| 津市市| 霍林郭勒市| 县级市| 汤阴县| 丽江市| 子长县| 精河县| 大港区| 石楼县| 泰州市| 朝阳市| 桐乡市| 怀柔区| 广河县| 万盛区| 星子县| 河东区| 沙坪坝区| 宝丰县| 定远县| 西乡县| 崇义县| 永德县| 泰州市| 绵竹市| 宁河县| 吉安市| 黔东| 获嘉县|