Java編程之繼承問題代碼示例
課堂練習(xí):
–在包bzu.aa中定義一個交通工具類(Vehicle):
1、屬性——載客量(capacity)
2、方法
(1)無參構(gòu)造方法(給capacity初始化值為2,并輸出“執(zhí)行交通工具類的無參構(gòu)造方法?!保?/p>
(2)有參構(gòu)造方法(傳參給capacity初始化,并輸出“執(zhí)行交通工具的有參構(gòu)造方法。”)
(3)capacity的set、get方法
(4)print方法:輸出capacity
–在包bzu.aa中定義一個汽車類(Car)繼承交通工具類:
1、屬性——speed
2、方法
(1)無參構(gòu)造方法(給speed初始化值為0,并輸出“執(zhí)行汽車類的無參構(gòu)造方法?!保?/p>
(2)有參構(gòu)造方法(用super關(guān)鍵字調(diào)用父類的有參構(gòu)造方法,傳參給speed初始化,并輸出“執(zhí)行汽車類的有參構(gòu)造方法。”)
(3)加速(speedup):speed+10并返回speed;
(4)減速(speeddown):speed-15并返回speed;
(5)重寫print方法:輸出speed和capacity。
–在包bzu.bb中定義一個final的公交車類(Bus),繼承汽車類:
1、屬性——載客量(capacity)<變量隱藏>
2、方法
(1)無參構(gòu)造方法(給capacity初始化值為20,并輸出“執(zhí)行公交車類的無參構(gòu)造方法?!保?/p>
(2)有參構(gòu)造方法(用super關(guān)鍵字調(diào)用父類的有參構(gòu)造方法,傳參給capacity初始化,并輸出“執(zhí)行公交車類的有參構(gòu)造方法?!保?/p>
(3)重寫print方法:輸出speed、 capacity及父類的capacity。
–在包bzu.bb中編寫一個主類Test:
1、主函數(shù)
(1)、調(diào)用無參構(gòu)造方法創(chuàng)建一個Car的對象car;調(diào)用加速方法將速度加至50,調(diào)用print方法;調(diào)用減速方法,將速度減至20,調(diào)用print方法。
(2)、調(diào)用有參構(gòu)造方法創(chuàng)建一個Bus的對象bus;調(diào)用print方法。 ##
Vehicle類:
package bzu.aa;
public class Vehicle {
protected int capacity;
public Vehicle (){
capacity=2;
System.out.println("執(zhí)行交通工具類的無參構(gòu)造方法.");
}
public Vehicle(int capacity){
//super();
this.capacity=capacity;
System.out.println("執(zhí)行交通工具類的有參構(gòu)造方法.");
}
public int getCapacity(){
return capacity;
}
public void setCapacity(int capacity){
this.capacity=capacity;
}
public void print(){
System.out.println("交通工具的載客量為:"+capacity);
}
}
Car類:
package bzu.aa;
public class Car extends Vehicle {
protected int speed;
public Car(){
super();
speed=0;
System.out.println("執(zhí)行汽車類的無參構(gòu)造方法.");
}
public Car(int speed){
super(6);
this.speed=speed;
System.out.println("執(zhí)行汽車類的有參構(gòu)造方法.");
}
public int speedUp(int speed){
this.speed=speed+10;
return speed;
}
public int speedDown(int speed){
this.speed=speed-10;
return speed;
}
public void print(){
System.out.println("汽車的載客量為:"+capacity+";汽車的速度為:"+speed);
}
}
Bus類:
package bzu.bb;
import bzu.aa.Car;
public final class Bus extends Car{
public int capacity;
public Bus(){
super();
capacity=20;
System.out.println("執(zhí)行公交車類的無參構(gòu)造方法.");
}
public Bus(int capacity){
super(40);
this.capacity=capacity;
System.out.println("執(zhí)行公交車類的有參構(gòu)造方法.");
}
public void print(){
System.out.println("公交車的的載客量為:"+capacity+";公交車的速度為:"+speed+";汽車類的載客量為:"+getCapacity());
}
}
Test類:
package bzu.bb;
import bzu.aa.Car;
public class Test {
public static void main(String[] args) {
Car car=new Car();
car.speedUp(40);
car.print();
car.speedDown(30);
car.print();
Bus bus=new Bus(20);
bus.print();
}
}
運行結(jié)果:

總結(jié)
以上就是本文關(guān)于Java編程之繼承問題代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友繼續(xù)參閱本站:Javaweb應(yīng)用使用限流處理大量的并發(fā)請求詳解、Java線程之程安全與不安全代碼示例、java集合中的list詳解等,有什么問題可以隨時留言,小編會及時回復(fù)大家的。感謝朋友們對本站的支持!
相關(guān)文章
詳解Spring Boot配置使用Logback進行日志記錄的實戰(zhàn)
本篇文章主要介紹了詳解Spring Boot配置使用Logback進行日志記錄的實戰(zhàn),具有一定的參考價值,有興趣的朋友可以了解一下2017-07-07
java基本教程之java線程等待與java喚醒線程 java多線程教程
這篇文章主要介紹了對線程等待/喚醒方法,文中使用了多個示例,大家參考使用吧2014-01-01
快速解決 MyBatis-Plus 中 ID 自增問題(推薦)
本文介紹了MyBatis-Plus中自動生成ID過長導(dǎo)致的問題及解決方法,結(jié)合示例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧2025-02-02
解決idea 拉取代碼出現(xiàn)的 “ Сannot Run Git Cannot identify version of
這篇文章主要介紹了解決idea 拉取代碼出現(xiàn)的 “ Сannot Run Git Cannot identify version of git executable: no response“的問題,需要的朋友可以參考下2020-08-08
SpringBoot使用WebSocket實現(xiàn)前后端交互的操作方法
springboot使用websocket有兩種方式,一種是實現(xiàn)簡單的websocket,另外一種是實現(xiàn)STOMP協(xié)議,本篇講述如何使用springboot實現(xiàn)簡單的websocket,需要的朋友可以參考下2022-04-04

