日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

王 第潜艇三天 引用类型 继承

發(fā)布時(shí)間:2024/3/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 王 第潜艇三天 引用类型 继承 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

面向?qū)ο蟮谌?#xff1a;

潛艇游戲第一天:

  • 設(shè)計(jì)6個(gè)類,設(shè)計(jì)World類并測(cè)試

  • 潛艇游戲第二天:

  • 給6個(gè)類添加構(gòu)造方法,并測(cè)試

  • 潛艇游戲第三天:

  • 設(shè)計(jì)偵察潛艇數(shù)組、魚雷潛艇數(shù)組、水雷潛艇數(shù)組、水雷數(shù)組、炸彈數(shù)組,并測(cè)試

  • 設(shè)計(jì)SeaObject超類,6個(gè)類繼承SeaObject

  • 給SeaObject設(shè)計(jì)兩個(gè)構(gòu)造方法,6個(gè)派生類分別調(diào)用

  • 將偵察潛艇數(shù)組、魚雷潛艇數(shù)組、水雷潛艇數(shù)組統(tǒng)一組合為SeaObject數(shù)組,并測(cè)試

  • 回顧:

  • 構(gòu)造方法:構(gòu)造函數(shù)、構(gòu)造器、構(gòu)建器--------復(fù)用給成員變量賦值

    • 作用:給成員變量賦初值

    • 與類同名,沒有返回值類型(連void)

    • 創(chuàng)建對(duì)象時(shí)被自動(dòng)調(diào)用

    • 若自己不寫構(gòu)造,默認(rèn)一個(gè)無參構(gòu)造,若自己寫了構(gòu)造,則不再默認(rèn)提供

    • 可以重載

  • this:指代當(dāng)前對(duì)象,哪個(gè)對(duì)象調(diào)用方法它指的就是哪個(gè)對(duì)象

    this的用法:

    this.成員變量名-------------------------訪問成員變量

    當(dāng)成員變量與局部變量同名時(shí),若想訪問成員變量則this不能省略

  • null:表示空,沒有指向任何對(duì)象

    若引用的值為null,則該引用不能進(jìn)行任何操作了,若操作則發(fā)生 NullPointerException空指針異常

  • 引用類型數(shù)組:

    Bomb[] bs = new Bomb[3]; bs[0] = new Bomb(100,200); //1)new bs[1] = new Bomb(200,300); bs[2] = new Bomb(300,400); System.out.println(bs[0].width); //2)訪問屬性需打點(diǎn)

  • 筆記:

  • 引用類型數(shù)組:

    1)Bomb[] bs = new Bomb[3];bs[0] = new Bomb(100,200);bs[1] = new Bomb(200,300);bs[2] = new Bomb(300,400);System.out.println(bs[0].width); //輸出第1個(gè)炸彈的寬bs[1].x = 250; //修改第2個(gè)炸彈的x為250bs[2].move(); //第3個(gè)炸彈移動(dòng)for(int i=0;i<bs.length;i++){ //遍歷所有子彈System.out.println(bs[i].height); //輸出每個(gè)子彈的高bs[i].move(); //每個(gè)子彈移動(dòng)} 2)Bomb[] bs = new Bomb[]{ //了解new Bomb(100,200),new Bomb(200,300),new Bomb(300,400)};
  • 繼承:

    • 作用:代碼復(fù)用

    • 通過extends來實(shí)現(xiàn)繼承

    • 超類/父類:共有的屬性和行為

      派生類/子類:特有的屬性和行為

    • 派生類既能訪問自己的,也能訪問超類的,但超類不能訪問派生類的

    • 一個(gè)超類可以有多個(gè)派生類

      一個(gè)派生類只能有一個(gè)超類-----------單一繼承

    • 具有傳遞性

    • java規(guī)定:構(gòu)造派生類之前必須先構(gòu)造超類

      • 派生類的構(gòu)造方法中若沒有調(diào)用超類的構(gòu)造方法,則默認(rèn)super()調(diào)用超類的無參構(gòu)造方法

      • 派生類的構(gòu)造方法中若自己調(diào)用了超類的構(gòu)造方法,則不再默認(rèn)提供

      super()調(diào)用超類構(gòu)造方法,必須位于派生類構(gòu)造方法的第一行

      //super的演示 public class SuperDemo {public static void main(String[] args) {Boo o = new Boo();} } class Coo{Coo(int a){} } class Doo extends Coo{Doo(){super(5); //調(diào)用超類的有參構(gòu)造}/*//如下代碼為默認(rèn)的:Doo(){super();}*/ } ? class Aoo{Aoo(){System.out.println("超類構(gòu)造");} } class Boo extends Aoo{Boo(){//super(); //默認(rèn)的,調(diào)用超類的無參構(gòu)造System.out.println("派生類構(gòu)造");} }
  • super:指代當(dāng)前對(duì)象的超類對(duì)象

    super的用法:

    • super.成員變量名----------------------訪問超類的成員變量(了解)

    • super.方法名()---------------------------調(diào)用超類的方法----------明天講

    • super()-------------------------------------調(diào)用超類的構(gòu)造方法

  • 向上造型:---------------------代碼復(fù)用

    • 超類型的引用指向了派生類的對(duì)象

    • 能點(diǎn)出來什么,看引用的類型-----------這是規(guī)定,記住就OK了

    package ooday03; //向上造型的演示 public class UploadDemo {public static void main(String[] args) {Eoo o1 = new Eoo();o1.a = 1;o1.show();//o1.b = 2; //編譯錯(cuò)誤//o1.test(); //編譯錯(cuò)誤,超類不能訪問派生類的 ?Foo o2 = new Foo();o2.b = 1;o2.test();o2.a = 2; ?//正確o2.show(); //正確,派生類可以訪問超類的 ?Eoo o3 = new Foo(); //向上造型o3.a = 1;o3.show();//o3.b = 2; //編譯錯(cuò)誤//o3.test(); //編譯錯(cuò)誤,能點(diǎn)出來什么,看引用的類型} } ? class Eoo{int a;void show(){} } class Foo extends Eoo{int b;void test(){} }
  • 精華筆記:

  • 引用類型數(shù)組:

  • 繼承:

    • 作用:代碼復(fù)用

    • 通過extends來實(shí)現(xiàn)繼承

    • 超類/父類:共有的屬性和行為

      派生類/子類:特有的屬性和行為

    • 派生類既能訪問自己的,也能訪問超類的,但超類不能訪問派生類的

    • 一個(gè)超類可以有多個(gè)派生類

      一個(gè)派生類只能有一個(gè)超類-----------單一繼承

    • 具有傳遞性

    • java規(guī)定:構(gòu)造派生類之前必須先構(gòu)造超類

      • 派生類的構(gòu)造方法中若沒有調(diào)用超類的構(gòu)造方法,則默認(rèn)super()調(diào)用超類的無參構(gòu)造方法

      • 派生類的構(gòu)造方法中若自己調(diào)用了超類的構(gòu)造方法,則不再默認(rèn)提供

      super()調(diào)用超類構(gòu)造方法,必須位于派生類構(gòu)造方法的第一行

  • super:指代當(dāng)前對(duì)象的超類對(duì)象

    super的用法:

    • super.成員變量名----------------------訪問超類的成員變量(了解)

    • super.方法名()---------------------------調(diào)用超類的方法----------明天講

    • super()-------------------------------------調(diào)用超類的構(gòu)造方法

  • 向上造型:---------------------代碼復(fù)用

    • 超類型的引用指向了派生類的對(duì)象

    • 能點(diǎn)出來什么,看引用的類型-----------這是規(guī)定,記住就OK了

  • 補(bǔ)充:

  • 繼承意味著代碼雖然我沒有寫,但也屬于我,只是沒有寫在一起而已

  • 泛化:將共有的抽出來的過程,泛化是設(shè)計(jì)層面的概念,從代碼實(shí)現(xiàn)層面來說咱們就是繼承,泛化就是繼承

  • 繼承要符合is a(是一個(gè))的關(guān)系

  • 總結(jié)

    以上是生活随笔為你收集整理的王 第潜艇三天 引用类型 继承的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。