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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

20145101《Java程序设计》第4周学习总结

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20145101《Java程序设计》第4周学习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

20145101《Java程序設計》第4周學習總結

教材學習內容總結

第六章 繼承與多態

  • 繼承:避免多個類間重復定義共同行為。

把相同代碼提升為父類

運用extends關鍵字的子類會繼承擴充父類行為

多個類中存在相同屬性和行為時,將這些內容抽取到單獨一個類中,那么多個類無需再定義這些屬性和行為,只要繼承單獨的那個類即可。  

多個類可以稱為子類,單獨這個類稱為父類或者超類。  

子類可以直接訪問父類中的非私有的屬性和行為。  

public class Game1Role {
private String name;
private int level;
private int blood;
public int getBlood(){
return blood;
}
public void setBlood(int blood) {
this.blood = blood;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

通過extends 關鍵字讓類與類之間產生繼承關系。

public class Game1SwordsMan extends Game1Role {
public void fight(){
System.out.println("揮劍攻擊");
}
}
  • 多態:單一接口操作多種類型的對象。
  • is-a關系定義:子類只能繼承一個父類,“是一種”關系。

     public class RPG {public static void main(String[] args) {SwordsMan swordsMan = new SwordsMan();swordsMan.setName("Justin");swordsMan.setLevel(1);swordsMan.setBlood(200);Magician magician = new Magician();magician.setName("Monica");magician.setLevel(1);magician.setBlood(100);showBlood(swordsMan);showBlood(swordsMan);}static void showBlood(Role role) {System.out.printf("%s 血量 %d%n", role.getName(), role.getBlood());}}

在showBlood()方法中,通過Role類型既可以操作SwordsMan對象,也可以操作Magician對象,這就是多態。

  • 重新定義:在繼承父類之后,定義與父類中相同的方法部署,但執行內容不同。

     public class RPG3{public static void main(String[] args){SwordsMan swordsMan = new SwordsMan();swordsMan.setName("Justin");swordsMan.setLevel(1);swordsMan.setBlood(200);Magician magician = new Magician();magician.setName("Monica");magician.setLevel(1);magician.setBlood(100);drawFight(swordsMan);drawFight(magician);}static void drawFight(Role role){System.out.print(role.getName());role.fight();}}
  • 抽象方法:如果某方法區塊中真的沒有任何程序代碼操作,可以使用abstract表示該方法為抽象方法,不用撰寫{ }區塊,直接“;”結束即可。

    含有抽象方法的類,一定要在class前標示abstract;子類如果繼承抽象類,意識繼續標示abstract,另一種就是操作方法。

  • 繼承語法的細節

    super關鍵字表示父類的意思。this變量代表對象本身。即super()和this()類似,區別是,super從子類中調用父類的構造方法,this()在同一類內調用其它方法。

    調用super()必須寫在子類構造方法的第一行,否則編譯不通過。每個子類構造方法的第一條語句,都是隱含地調用super()。

     public class OceanWorld1Anemonefish extends OceanWorld1Fish {public OceanWorld1Anemonefish(String name) {super(name);}@Overridepublic void swim() {System.out.printf("小丑魚 %s 游泳%n", name);}}

第七章 接口與多態

  • 接口:可以理解為一種特殊的類,里面全部是由全局常量(static final)和公共的抽象方法所組成。

  • 接口的定義格式:接口的數據成員,只允許被public, static, final修飾。
    接口的方法成員,只允許被public, abstract修飾。

    接口中的數據成員都為static final類型,必須進行初始化,且接口的數據成員的值不能被修改,允許省略static, final關鍵字。接口中的方法必須是“抽象方法”,不能有方法體,允許省略public及abstract關鍵字
  • 接口的實現:
    接口不能用new運算符直接產生對象,必須利用其特性設計新的類,再用新類來創建對象
    與抽象類一樣,接口要使用也必須通過子類,子類通過implements關鍵字實現接口。

  • 接口的繼承:接口不能繼承一個抽象類,卻可以通過extends同時繼承于多個接口。

     import static java.lang.System.out;public class EnumGame {public static void main(String[] args) {play(EnumAction.RIGHT);play(EnumAction.UP);}public static void play(EnumAction action) {switch (action) {case STOP:out.println("播放停止動畫");break;case RIGHT:out.println("播放向右動畫");break;case LEFT:out.println("播放向左動畫");break;case UP:out.println("播放向上動畫");break;case DOWN:out.println("播放向下動畫");break;}}}

教材學習中的問題和解決過程

代碼調試中的問題和解決過程

本周代碼托管截圖

其他(感悟、思考等,可選)

 java學習是一條長久的道路,有坎坷,也有解決問題的喜悅。這一周主要學習了六七章節的內容,首先主要是一個RPG、SwordsMan這兩個程序,但其不僅僅是一個程序,是多個程序繼承在一起才能運行,我們正一步一步在添磚加瓦,使程序日趨完善,功能越發強大。這周的學習讓我體會到java語言功能的多樣,操作接口、繼承類,有時相同的問題可以有不同的方法解決,就需要多學習,選擇效率高、準確度高的方法來解決問題。

學習進度條

代碼行數(新增/累積)博客量(新增/累積)學習時間(新增/累積)重要成長
目標5000行30篇400小時
第一周200/2002/220/20
第二周200/4001/318/38
第三周200/6001/422/60
第四周200/8001/530/90

參考資料

  • Java學習筆記(第8版)
  • 《Java學習筆記(第8版)》學習指導

轉載于:https://www.cnblogs.com/verymoment/p/5327273.html

總結

以上是生活随笔為你收集整理的20145101《Java程序设计》第4周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。