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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java继承的终极奥义_java学习笔记12-继承

發布時間:2025/3/12 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java继承的终极奥义_java学习笔记12-继承 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

繼承就是子類繼承父類的特征和行為

有時候單一劃分某個類別并不能處理所有情況,某些類別下有明顯不同的子類,這些子類雖然擁有類似的行為和屬性,但是他們各自發生的這些行為的方式或者屬性對某些結果的影響是不一樣的,這就需要劃分出更多細致的類別。

比如之前類和對象筆記中,球員這個類別,球員都有球衣,號碼,得分這些屬性,打球的行為,但是很明顯,籃球運動員和足球運動員在這些屬性和行為上是有區別的?;@球運動員打球可以用手,胳膊。足球運動員打球可以腳踢頭頂?;@球運動員一場得分兩位數很正常,足球運動員顯然不可能一場得分兩位數。

基于這個分析。我們有必要把這個類拆分成籃球運動員類和足球運動員類。首先我們把所有球員的公共屬性和公共行為抽象出來,形成一個類。然后通過繼承,讓兩個子類都去享有這個類的公共屬性和行為,但是具體行為依靠自己來實現。(測試框架中的測試基類)

java提供了extends關鍵字來實現繼承功能

首先新建一個球員類Player:

packagelesson;public classPlayer {public int number; //號碼

public int score; //得分

public String position; //司職

public String name; //姓名

public voidplayBall(){

System.out.println("姓名:"+this.name);

System.out.println("號碼:"+this.number);

System.out.println("得分:"+this.score);

System.out.println("司職:"+this.position);

}

}

接下來創建籃球運動員類和足球運動員類

packagelesson;public class BasketBallPlayer extendsPlayer{public static voidmain(String[] args){

BasketBallPlayer player1= newBasketBallPlayer();

player1.name= "jordan";

player1.number= 23;

player1.position= "得分后衛";

player1.score= 33;

player1.playBall();

}

}

?

packagelesson;public class FootBallPlayer extendsPlayer {public static voidmain(String[] args){

FootBallPlayer player2= newFootBallPlayer();

player2.name= "齊達內";

player2.number= 10;

player2.position= "中場";

player2.score= 2;

player2.playBall();

}

}

?

雖然這兩個類中沒有任何屬性和方法,但是能點出Player類的屬性,還能調用父類的方法。說明它繼承到了父類的屬性和方法。

需要注意的是:子類并不能繼承父類的構造方法

創建子類對象時,會先調用父類的構造方法,然后調用自己的構造方法。

由于每個類都默認有一個默認的無參數的構造方法,所以為了看出效果。需要顯示的創建這幾個類的構造方法。

packagelesson;public classPlayer {public int number; //號碼

public int score; //得分

public String position; //司職

public String name; //姓名

publicPlayer(){

System.out.println("我是Player");

}public voidplayBall(){

System.out.println("姓名:"+this.name);

System.out.println("號碼:"+this.number);

System.out.println("得分:"+this.score);

System.out.println("司職:"+this.position);

}

}

packagelesson;public class BasketBallPlayer extendsPlayer{publicBasketBallPlayer(){

System.out.println("我是BasketBallPlayer");

}public static voidmain(String[] args){

BasketBallPlayer player1= newBasketBallPlayer();

player1.name= "jordan";

player1.number= 23;

player1.position= "得分后衛";

player1.score= 33;

player1.playBall();

}

}

packagelesson;public class FootBallPlayer extendsPlayer {publicFootBallPlayer(){

System.out.println("我是FootBallPlayer");

}public static voidmain(String[] args){

FootBallPlayer player2= newFootBallPlayer();

player2.name= "齊達內";

player2.number= 10;

player2.position= "中場";

player2.score= 2;

player2.playBall();

}

}

?

?

結果說明:在創建子類對象時,會先調用父類的構造方法,然后調用自己的構造方法

這個結果并不能說明子類在繼承父類時,也繼承了父類的構造方法,只能說默認會調用而已。

總結

以上是生活随笔為你收集整理的java继承的终极奥义_java学习笔记12-继承的全部內容,希望文章能夠幫你解決所遇到的問題。

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