課堂練習:
–在包bzu.aa中定義一個交通工具類(Vehicle):
1、屬性——載客量(capacity)
2、方法
(1)無參構造方法(給capacity初始化值為2,并輸出“執行交通工具類的無參構造方法?!保?/p>
(2)有參構造方法(傳參給capacity初始化,并輸出“執行交通工具的有參構造方法?!保?/p>
(3)capacity的set、get方法
(4)print方法:輸出capacity
–在包bzu.aa中定義一個汽車類(Car)繼承交通工具類:
1、屬性——speed
2、方法
(1)無參構造方法(給speed初始化值為0,并輸出“執行汽車類的無參構造方法?!保?/p>
(2)有參構造方法(用super關鍵字調用父類的有參構造方法,傳參給speed初始化,并輸出“執行汽車類的有參構造方法?!保?/p>
(3)加速(speedup):speed+10并返回speed;
(4)減速(speeddown):speed-15并返回speed;
(5)重寫print方法:輸出speed和capacity。
–在包bzu.bb中定義一個final的公交車類(Bus),繼承汽車類:
1、屬性——載客量(capacity)<變量隱藏>
2、方法
(1)無參構造方法(給capacity初始化值為20,并輸出“執行公交車類的無參構造方法?!保?/p>
(2)有參構造方法(用super關鍵字調用父類的有參構造方法,傳參給capacity初始化,并輸出“執行公交車類的有參構造方法?!保?/p>
(3)重寫print方法:輸出speed、 capacity及父類的capacity。
–在包bzu.bb中編寫一個主類Test:
1、主函數
(1)、調用無參構造方法創建一個Car的對象car;調用加速方法將速度加至50,調用print方法;調用減速方法,將速度減至20,調用print方法。
(2)、調用有參構造方法創建一個Bus的對象bus;調用print方法。 ##
Vehicle類:
package bzu.aa;
public class Vehicle {
protected int capacity;
public Vehicle (){
capacity=2;
System.out.println("執行交通工具類的無參構造方法.");
}
public Vehicle(int capacity){
//super();
this.capacity=capacity;
System.out.println("執行交通工具類的有參構造方法.");
}
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("執行汽車類的無參構造方法.");
}
public Car(int speed){
super(6);
this.speed=speed;
System.out.println("執行汽車類的有參構造方法.");
}
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("執行公交車類的無參構造方法.");
}
public Bus(int capacity){
super(40);
this.capacity=capacity;
System.out.println("執行公交車類的有參構造方法.");
}
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();
}
}
運行結果:

總結
以上就是本文關于Java編程之繼承問題代碼示例的全部內容,希望對大家有所幫助。感興趣的朋友繼續參閱本站:Javaweb應用使用限流處理大量的并發請求詳解、Java線程之程安全與不安全代碼示例、java集合中的list詳解等,有什么問題可以隨時留言,小編會及時回復大家的。感謝朋友們對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。