成員變量和局部變量的區(qū)別?

  1. 在類中的位置不同

    • 成員變量:在類中方法外

    • 局部變量:在方法定義中或者方法聲明上

  2. 在內(nèi)存中的位置不同

    • 成員變量:在堆內(nèi)存

    • 局部變量:在棧內(nèi)存

  3. 生命周期不同

    • 成員變量:隨著對(duì)象的創(chuàng)建而存在理疙,隨著對(duì)象的消失而消失

    • 局部變量:隨著方法的調(diào)用而存在畜挨,隨著方法的調(diào)用完畢而消失

  4. 初始化值不同

    • 成員變量:有默認(rèn)初始化值

    • 局部變量:沒有默認(rèn)初始化值,必須定義胖烛,賦值挫以,然后才能使用者蠕。

  5. 注意事項(xiàng):

    • 局部變量名稱可以和成員變量名稱一樣,在方法中使用的時(shí)候掐松,采用的是就近原則踱侣。

方法

方法就是函數(shù),function大磺,是為了完成特定功能的代碼塊

修飾符 返回值類型 方法名(參數(shù)類型 參數(shù)名1抡句,參數(shù)類型 參數(shù)名2…) {
        函數(shù)體;
        return 返回值;
}
  1. 定義函數(shù)可以將功能代碼進(jìn)行封裝
  2. 便于對(duì)該功能進(jìn)行復(fù)用
  3. 函數(shù)只有被調(diào)用才會(huì)被執(zhí)行

    (當(dāng)函數(shù)被調(diào)用的時(shí)候,jvm虛擬機(jī)會(huì)在內(nèi)存中給該函數(shù)分配一塊內(nèi)存空間杠愧,該內(nèi)存空間里面可以定義該函數(shù)所用到的一些變量待榔,當(dāng)方法執(zhí)行完畢之后,該內(nèi)存空間會(huì)被釋放掉流济。)調(diào)用完成锐锣,函數(shù)執(zhí)行完畢。
  4. 函數(shù)的出現(xiàn)提高了代碼的復(fù)用性
  5. 對(duì)于函數(shù)沒有具體返回值的情況绳瘟,返回值類型用關(guān)鍵字void表示雕憔,那么該函數(shù)中的return語(yǔ)句如果在最后一行可以省略不寫。

注意:

  1. 調(diào)用方法時(shí)可以不接受方法返回的值糖声,且不會(huì)報(bào)錯(cuò)
  2. 函數(shù)中只能調(diào)用函數(shù)斤彼,不可以在函數(shù)內(nèi)部定義函數(shù)。

方法重載

  1. 同一個(gè)類中蘸泻,允許存在一個(gè)以上的同名的方法琉苇,參數(shù)個(gè)數(shù),參數(shù)類型不同
  2. 與返回值類型無關(guān)蟋恬,只看方法名和參數(shù)列表
  3. 虛擬機(jī)通過參數(shù)列表的不同來區(qū)分同名方法
  4.  public void repeatName () {
     
     }
     
     public void repeatName (int i) {
         
     }
     
     public void repeatName (double i) {
         
     }
    

形參

  1. 基本類型:形式參數(shù)的改變不影響實(shí)際參數(shù)

  2. 引用類型:傳入一個(gè)類的對(duì)象翁潘,形參是該對(duì)象的一個(gè)引用,形式參數(shù)的改變直接影響實(shí)際參數(shù)

    1. 類名:需要的是該類的對(duì)象
    2. 抽象類:需要的是該抽象的類子類對(duì)象歼争,用具體子類實(shí)現(xiàn)
    3. 接口:需要的是該接口的實(shí)現(xiàn)類對(duì)象拜马,用具體子類實(shí)現(xiàn)
  3. String是引用類型,但不能進(jìn)行地址傳遞


    //抽象類
    abstract class Person {
        public abstract void study();
    }

    class PersonDemo {
        public void method(Person p) {//p; p = new Student();  Person p = new Student(); //多態(tài)
            p.study();
        }
    }
    
    //定義一個(gè)具體的學(xué)生類
    class Student extends Person {
        public void study() {
            System.out.println("Good Good Study,Day Day Up");
        }
    }
    
    class PersonTest {
        public static void main(String[] args) {
            //目前是沒有辦法的使用的
            //因?yàn)槌橄箢悰]有對(duì)應(yīng)的具體類
            //那么沐绒,我們就應(yīng)該先定義一個(gè)具體類
            //需求:我要使用PersonDemo類中的method()方法
            PersonDemo pd = new PersonDemo();
            Person p = new Student();
            pd.method(p);
        }
    }


    //接口
    //定義一個(gè)愛好的接口
    interface Love {
        public abstract void love();
    }
    
    class LoveDemo {
        public void method(Love l) { //l; l = new Teacher();  Love l = new Teacher(); 多態(tài)
            l.love();
        }
    }
    
    //定義具體類實(shí)現(xiàn)接口
    class Teacher implements Love {
        public void love() {
            System.out.println("老師愛學(xué)生,愛Java,愛林青霞");
        }
    }
    
    class TeacherTest {
        public static void main(String[] args) {
            //需求:我要測(cè)試LoveDemo類中的love()方法
            LoveDemo ld = new LoveDemo();
            Love l = new Teacher();
            ld.method(l);
        }
    }

返回值

引用類型:

  1. 類:返回的是該類的對(duì)象
  2. 抽象類:返回的是該抽象類的子類對(duì)象
  3. 接口:返回的是該接口的實(shí)現(xiàn)類的對(duì)象
- 類

        class Student {
            public void study() {
                System.out.println("Good Good Study,Day Day Up");
            }
        }

        class StudentDemo {
            public Student getStudent() {
                return new Student();
            }
        }


- 抽象類

        abstract class Person {
            public abstract void study();
        }
        class PersonDemo {
            public Person getPerson() {
                //Person p = new Student();
                //return p;
                
                return new Student();
            }
        }
        class Student extends Person {
            public void study() {
                System.out.println("Good Good Study,Day Day Up");
            }
        }


- 接口

        interface Love {
            public abstract void love();
        }
        class LoveDemo {
            public Love getLove() {
                //Love l = new Teacher();
                //return l;
                
                return new Teacher();
            }
        }
        //定義具體類實(shí)現(xiàn)接口
        class Teacher implements Love {
            public void love() {
                System.out.println("老師愛學(xué)生,愛Java,愛林青霞");
            }
        } 

構(gòu)造方法

給對(duì)象的屬性賦初值

  1. 構(gòu)造方法格式
    • 方法名與類名相同

    • 沒有返回值類型俩莽,連void都沒有

    • 沒有具體的返回值

        public Student(){
            
        }
        public Student(String name1, int sge) {         //構(gòu)造函數(shù)可以重載
            this.name1 = name1;
            this.sge = sge;
        }   
      
  2. 默認(rèn)構(gòu)造:建議自己給出無參構(gòu)造
    • 如果你不提供構(gòu)造方法,系統(tǒng)會(huì)給出默認(rèn)構(gòu)造方法
    • 如果你提供了構(gòu)造方法乔遮,系統(tǒng)將不再提供

創(chuàng)建對(duì)象

Student s = new Student();

加載過程

  1. 加載Student.class文件進(jìn)內(nèi)存
  2. 在棧內(nèi)存為s開辟空間
  3. 在堆內(nèi)存為學(xué)生對(duì)象開辟空間
  4. 對(duì)學(xué)生對(duì)象的成員變量進(jìn)行默認(rèn)初始化
  5. 對(duì)學(xué)生對(duì)象的成員變量進(jìn)行顯示初始化
  6. 通過構(gòu)造方法對(duì)學(xué)生對(duì)象的成員變量賦值
  7. 學(xué)生對(duì)象初始化完畢扮超,把對(duì)象地址賦值給s變量

匿名對(duì)象

匿名對(duì)象:就是沒有名字的對(duì)象。

匿名對(duì)象的應(yīng)用場(chǎng)景:

  1. 調(diào)用方法蹋肮,僅僅只調(diào)用一次的時(shí)候出刷。
    • 好處:匿名對(duì)象調(diào)用完畢就是垃圾∨鞅纾可以被垃圾回收器回收馁龟。
  2. 匿名對(duì)象可以作為實(shí)際參數(shù)傳遞

Class s = new Class();
s.method();

new Class().method();
new Class().method(new Class());
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市漆魔,隨后出現(xiàn)的幾起案子坷檩,更是在濱河造成了極大的恐慌,老刑警劉巖改抡,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件矢炼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡阿纤,警方通過查閱死者的電腦和手機(jī)句灌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欠拾,“玉大人胰锌,你說我怎么就攤上這事∏迨矗” “怎么了匕荸?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)枷邪。 經(jīng)常有香客問我榛搔,道長(zhǎng),這世上最難降的妖魔是什么东揣? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任践惑,我火速辦了婚禮,結(jié)果婚禮上嘶卧,老公的妹妹穿的比我還像新娘尔觉。我一直安慰自己,他們只是感情好芥吟,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布侦铜。 她就那樣靜靜地躺著专甩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钉稍。 梳的紋絲不亂的頭發(fā)上涤躲,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音贡未,去河邊找鬼种樱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛俊卤,可吹牛的內(nèi)容都是我干的嫩挤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼消恍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼岂昭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起哺哼,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤佩抹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后取董,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棍苹,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年茵汰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枢里。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蹂午,死狀恐怖栏豺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情豆胸,我是刑警寧澤奥洼,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站晚胡,受9級(jí)特大地震影響灵奖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜估盘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一瓷患、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧遣妥,春花似錦擅编、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谭贪。三九已至,卻和暖如春肢藐,著一層夾襖步出監(jiān)牢的瞬間故河,已是汗流浹背吱韭。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工吆豹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人理盆。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓痘煤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親猿规。 傳聞我的和親對(duì)象是個(gè)殘疾皇子衷快,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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

  • 類是一個(gè)重要的C#編程概念,它在一個(gè)單元內(nèi)定義了表示和行為姨俩。類提供了面向?qū)ο缶幊毯兔嫦蚪M件編程所需的語(yǔ)言支持蘸拔,是創(chuàng)...
    CarlDonitz閱讀 842評(píng)論 0 2
  • C++基礎(chǔ)2:類與對(duì)象 1. 認(rèn)識(shí)類與對(duì)象 什么是類(class)?類(class)是類型(type),是用戶自定...
    jdzhangxin閱讀 2,280評(píng)論 0 7
  • 聞雞起舞又一年 什么是健康环葵?什么是健康的生活方式调窍? 健康既包括身體健康也包括心理健康。健康的生活方式包括:充足的睡...
    一枚冰兒閱讀 321評(píng)論 1 0
  • 這幾年,某寶的勢(shì)頭太強(qiáng)了菊卷,最直觀的一個(gè)表現(xiàn)是缔恳,人們的逛街時(shí)間已進(jìn)入無孔不入,抽空刷個(gè)手機(jī)洁闰,包裹隔兩天就送到了歉甚。 ...
    蔚藍(lán)Life閱讀 204評(píng)論 0 0
  • 不知不覺,清明伴著綿綿細(xì)雨來到我們身邊扑眉。 當(dāng)我們手捧鮮花纸泄,又一次走向那個(gè)埋葬著雖與我們天人相隔、卻永遠(yuǎn)密不可分的先...
    祝方婷閱讀 401評(píng)論 2 1