站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        JAVA面向?qū)ο笾^承、構(gòu)造方法、重寫(xiě)和重載(總結(jié)分享)

        本篇文章給大家?guī)?lái)了關(guān)于java的相關(guān)知識(shí),其中主要介紹了關(guān)于面向?qū)ο蟮南嚓P(guān)問(wèn)題,包括了有參構(gòu)造、無(wú)參構(gòu)造、類(lèi)的繼承、方法的重寫(xiě)和重載等等內(nèi)容,下面一起來(lái)看一下,希望對(duì)大家有幫助。

        JAVA面向?qū)ο笾^承、構(gòu)造方法、重寫(xiě)和重載(總結(jié)分享)

        推薦學(xué)習(xí):《java教程》

        構(gòu)造方法

        類(lèi)的構(gòu)造方法是特殊的方法,此方法名稱(chēng)必須和類(lèi)名一致,構(gòu)造不能有返回值 不使用void,不能直接調(diào)用,在類(lèi)對(duì)象實(shí)例化時(shí)自動(dòng)調(diào)用,new 的時(shí)候可以調(diào)用。一般構(gòu)造方法用于類(lèi)對(duì)象實(shí)例化時(shí)的初始化。如果一個(gè)類(lèi)沒(méi)有編寫(xiě)構(gòu)造方法,系統(tǒng)自動(dòng)給此類(lèi)編譯時(shí)添加一個(gè)無(wú)參構(gòu)造方法。如果聲明類(lèi)編寫(xiě)了構(gòu)造方法,系統(tǒng)不再添加無(wú)參構(gòu)造方法,建議編寫(xiě)完構(gòu)造方法時(shí),最好編寫(xiě)一個(gè)無(wú)參構(gòu)造方法。

        無(wú)參構(gòu)造

        說(shuō)白了就是沒(méi)有參數(shù)的構(gòu)造方法
        概念看不懂舉個(gè)例子就清晰了。
        聲明一個(gè)類(lèi)A

        public class A {     }

        在類(lèi)A中創(chuàng)建一個(gè)構(gòu)造方法A(),并且打印出一句話
        構(gòu)造方法必須和類(lèi)名一樣

        public class A {     public A(){         System.out.println("構(gòu)造方法A()");     }}

        新建一個(gè)測(cè)試類(lèi),并在類(lèi)中nuw一個(gè)A類(lèi)的對(duì)象

        public class Test {     public static void main(String[] args) {         A a = new A();     }}

        執(zhí)行main方法試試看

        JAVA面向?qū)ο笾^承、構(gòu)造方法、重寫(xiě)和重載(總結(jié)分享)

        構(gòu)造方法相當(dāng)于在new對(duì)象是自動(dòng)使用的方法

        有參構(gòu)造

        有參構(gòu)造就是有參數(shù)的構(gòu)造方法
        在類(lèi)A中聲明一個(gè)有參數(shù)的構(gòu)造方法,傳入兩個(gè)String類(lèi)型的參數(shù),a和b

        public class A {     public A() {     }      public A(String a, String b) {         System.out.println(a + b);     }}

        在測(cè)試類(lèi)中new一個(gè)對(duì)象a時(shí)傳入?yún)?shù)

        public class Test {     public static void main(String[] args) {         A a = new A("aaa", "bbb");     }}

        執(zhí)行main方法
        JAVA面向?qū)ο笾^承、構(gòu)造方法、重寫(xiě)和重載(總結(jié)分享)

        注意

        沒(méi)有構(gòu)造方法的時(shí)候,類(lèi)中隱藏了一個(gè)無(wú)參構(gòu)造。但是創(chuàng)建一個(gè)有參構(gòu)造,隱藏的無(wú)參構(gòu)造就會(huì)消失。那么以后new對(duì)象就只能帶參數(shù)了。所以在建有參構(gòu)造時(shí)一定要?jiǎng)?chuàng)建一個(gè)無(wú)參構(gòu)造方法放那。

        類(lèi)的繼承

        java語(yǔ)言中,類(lèi)class 是單繼承,多實(shí)現(xiàn)接口。接口interface 是多繼承的。

        JAVA面向?qū)ο笾^承、構(gòu)造方法、重寫(xiě)和重載(總結(jié)分享)

        為什么要繼承呢?因?yàn)樽宇?lèi)想要在父類(lèi)的基礎(chǔ)上添加新功能。
        子類(lèi)繼承父類(lèi)可以繼承父類(lèi)中的方法和屬性
        下面舉例分析:
        父類(lèi)是人,子類(lèi)是老司機(jī)。
        人的特征有:兩只手,兩只眼,兩只腳,會(huì)吃會(huì)喝
        老司機(jī)繼承了人類(lèi)的特征,并且多出了自己會(huì)開(kāi)車(chē)這個(gè)功能。

        代碼如下:

        這是一個(gè)人 類(lèi),具有以下屬性和功能。

        public class Ren {     public final String shou = "兩只手";     public final String jiao = "兩只腳";     public final String yan = "兩只眼";      public void chi() {         System.out.println("會(huì)吃");     }      public void he() {         System.out.println("會(huì)喝");     }}

        這是老司機(jī)類(lèi),繼承了人類(lèi)。并且多了個(gè)會(huì)開(kāi)車(chē)的功能

        public class Siji extends Ren {     public void kai() {         System.out.println("會(huì)開(kāi)車(chē)");     }}

        測(cè)試:創(chuàng)建老司機(jī)對(duì)象輸出屬性并調(diào)用方法。

        public class Test {     public static void main(String[] args) {         Siji b = new Siji();         System.out.println(b.jiao);         System.out.println(b.shou);         System.out.println(b.yan);         b.chi();         b.he();         b.kai();     }}

        JAVA面向?qū)ο笾^承、構(gòu)造方法、重寫(xiě)和重載(總結(jié)分享)

        方法重寫(xiě)、重載

        重寫(xiě) 覆蓋:方法名,返回類(lèi)型,形參都一樣。有此種情況的,必須為繼承關(guān)系。
        重載:方法名一樣,返回類(lèi)型,形參個(gè)數(shù),類(lèi)型不樣的方法,不一定必須是繼承關(guān)系,同一個(gè)類(lèi)中都可以,比如 構(gòu)造方法重載

        重寫(xiě)

        因?yàn)樽宇?lèi)不滿意父類(lèi)的方法所以想把它改一下,這就是子類(lèi)重寫(xiě)父類(lèi)的方法。
        比如人會(huì)吃會(huì)喝,但是老司機(jī)不喜歡它會(huì)吃這個(gè)功能,想把它改一下,改成會(huì)吃屎。

        代碼如下:

        老司機(jī)重寫(xiě)人類(lèi)的chi()方法
        方法名一定要一樣

        public class Siji extends Ren {     public void kai() {         System.out.println("會(huì)開(kāi)車(chē)");     }      public void chi() {         System.out.println("會(huì)吃屎");     }}

        現(xiàn)在重寫(xiě)運(yùn)行測(cè)試類(lèi)
        JAVA面向?qū)ο笾^承、構(gòu)造方法、重寫(xiě)和重載(總結(jié)分享)

        重載

        有參構(gòu)造和無(wú)參構(gòu)造就是方法重載,一個(gè)類(lèi)中有兩個(gè)名字一樣的方法,但是他們的返回值類(lèi)型和參數(shù)類(lèi)型,參數(shù)個(gè)數(shù)不一樣。
        兩個(gè)方法的返回值類(lèi)型和參數(shù)類(lèi)型,參數(shù)個(gè)數(shù),只要有一個(gè)不一樣。但是他們方法名一樣,那么兩個(gè)方法就重載。

        推薦學(xué)習(xí):《java教程》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 日韩午夜高清福利片在线观看欧美亚洲精品suv | 久久线看观看精品香蕉国产| 精品欧美| 四虎国产精品免费久久5151| 精品永久久福利一区二区 | 国产精品嫩草视频永久网址| 狼色精品人妻在线视频| 成人国产精品高清在线观看| 亚洲AV无码成人精品区狼人影院| 99精品国产福利在线观看| 国产成人精品无码播放| 亚洲精品成人区在线观看| 狠狠精品久久久无码中文字幕| 欧美精品一区二区三区视频| 国产精品福利一区二区| 国产午夜福利精品久久2021| 熟妇人妻VA精品中文字幕| 亚洲精品无码激情AV| 欧美成人精品第一区二区三区| 国产精品美女久久久久AV福利| 亚洲愉拍自拍欧美精品 | 精品人伦一区二区三区潘金莲 | 欧美精品高清在线观看| 国产精品久久久久久影院 | 国产色婷婷五月精品综合在线 | 桃花岛精品亚洲国产成人| 国产精品爱啪在线线免费观看| 国产精品兄妹在线观看麻豆| 精品人妻码一区二区三区| 精品人妻人人做人人爽| 国产三级精品三级在线专区1| 亚洲AV乱码久久精品蜜桃| 亚洲AV无码成人精品区在线观看| 亚洲精品成人片在线播放| 亚洲AV午夜福利精品一区二区 | 国产亚洲精品国看不卡| 国产欧美一区二区精品性色99| 国产玖玖玖九九精品视频| 久久久久无码精品国产app| 亚洲av午夜国产精品无码中文字| 中文字幕在线亚洲精品|