面向?qū)ο蠖庋b

一异吻、封裝的概述

??封裝是面向三大特征之一,是面向?qū)ο缶幊陶Z言對客觀世界的模擬尔许,客觀世界里成員變量都是隱藏在對象內(nèi)部的,外界無法直接操作和修改终娃。就像之前說的學生類中的年齡味廊。

??封裝的原則:

  • 將不需要對外提供的內(nèi)容都隱藏起來
  • 把屬性隱藏,提供公共方法對其訪問

??封裝的好處:

  • 通過方法來控制成員變量的操作棠耕,提高了代碼的安全性
  • 把代碼用方法進行封裝余佛,提高了代碼的復用性

二、封裝中的關(guān)鍵字

1窍荧、private

??private是一個權(quán)限修飾符辉巡,可以修飾成員(包括成員變量和成員方法),被private修飾的成員只能在本類中才能訪問蕊退。
??應用:
??把成員變量用private修飾郊楣,提供getXxx()/setXxx()方法

2憔恳、this關(guān)鍵字

??this代表所在類的對象引用,主要用于解決成員變量被隱藏的問題净蚤。

3钥组、關(guān)鍵字的運用

例:

//定義一個學生類
public class Student {
    // 學生的屬性:姓名、年齡
    private String name;
    private int age;

    // 學生的行為:吃飯今瀑、學習
    public void eat() {
        System.out.println("吃飯");
    }

    public void study() {
        System.out.println("學習");
    }

    // getXxx()和setXxx()
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

三程梦、構(gòu)造方法

??構(gòu)造方法主要是用來給對象的數(shù)據(jù)進行初始化。

1橘荠、定義格式

//無參的構(gòu)造方法
public 方法名(){
}

//有參的構(gòu)造方法
public 方法名(參數(shù)列表){
    this.成員變量1 = 參數(shù)1;
    this.成員變量2 = 參數(shù)2屿附;
    ...
}

2、調(diào)用格式

類名 對象名 = new 構(gòu)造方法名(...);

3哥童、構(gòu)造方法的注意事項

??(1)如果我們沒有給出構(gòu)造方法挺份,系統(tǒng)將給出一個默認的無參數(shù)構(gòu)造方法供我們使用;
??(2)如果我們給出了構(gòu)造方法如蚜,系統(tǒng)將不再提供默認的構(gòu)造方法供我們使用压恒。這個時候如果還想用無參數(shù)構(gòu)造方法,就必須自己提供错邦。因此一般推薦自己給出無參數(shù)構(gòu)造方法探赫。
??(3)構(gòu)造方法也可以重載。

四撬呢、標準類的代碼寫法和測試

類:

  • 成員變量:被private修飾
  • 構(gòu)造方法:無參構(gòu)造方法和有參構(gòu)造方法
  • 成員方法:getXxx()伦吠、setXxx()和每個事物完成不同行為的方法

給成員變量賦值的方法:

  • 通過無參構(gòu)造方法生成對象,然后調(diào)用setXxx()方法給對象賦值
  • 通過帶參構(gòu)造方法賦值
    例:
    定義一個學生類
public class Student2 {
    
    //成員變量:名字和年齡
    private String name;
    private int age;
    
    //無參的構(gòu)造方法
    public Student2() {

    }
    
    //有參的構(gòu)造方法
    public Student2(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    // getXxx()和setXxx()
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

定義學生類的測試類

public class StudentTest2 {
    public static void main(String[] args) {
        // 使用無參構(gòu)造方法生成對象
        Student2 stu = new Student2();
        
        // 使用set方法賦值
        stu.setName("張三");
        stu.setAge(18);
        
        // 使用get方法調(diào)用
        System.out.println("姓名:" + stu.getName());
        System.out.println("年齡:" + stu.getAge());
        
        // 使用有參構(gòu)造方法生成對象并賦值
        Student2 stu1 = new Student2("李四", 25);
        
        // 使用get方法調(diào)用
        System.out.println("姓名:" + stu1.getName());
        System.out.println("年齡:" + stu1.getAge());
    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末魂拦,一起剝皮案震驚了整個濱河市毛仪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芯勘,老刑警劉巖箱靴,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異荷愕,居然都是意外死亡衡怀,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門安疗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抛杨,“玉大人,你說我怎么就攤上這事荐类〔老郑” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵玉罐,是天一觀的道長屈嗤。 經(jīng)常有香客問我潘拨,道長,這世上最難降的妖魔是什么恢共? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任战秋,我火速辦了婚禮,結(jié)果婚禮上讨韭,老公的妹妹穿的比我還像新娘脂信。我一直安慰自己,他們只是感情好透硝,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布狰闪。 她就那樣靜靜地躺著,像睡著了一般濒生。 火紅的嫁衣襯著肌膚如雪埋泵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天罪治,我揣著相機與錄音丽声,去河邊找鬼。 笑死觉义,一個胖子當著我的面吹牛雁社,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晒骇,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼霉撵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了洪囤?” 一聲冷哼從身側(cè)響起徒坡,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瘤缩,沒想到半個月后喇完,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡剥啤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年何暮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铐殃。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖跨新,靈堂內(nèi)的尸體忽然破棺而出富腊,到底是詐尸還是另有隱情,我是刑警寧澤域帐,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布赘被,位于F島的核電站是整,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏民假。R本人自食惡果不足惜浮入,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望羊异。 院中可真熱鬧事秀,春花似錦、人聲如沸野舶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽平道。三九已至睹欲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間一屋,已是汗流浹背窘疮。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冀墨,地道東北人闸衫。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像轧苫,于是被迫代替她去往敵國和親楚堤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容