10.11第七週java作業

Lesson 3 上機練習題——繼承

課堂練習:

–      在包bzu.aa中定義一個交通工具類(Vehicle):

n  屬性——載客量(capacity)

n  方法

u  無參構造方法(給capacity初始化值爲2,並輸出“執行交通工具類的無參構造方法。”)

u  有參構造方法(傳參給capacity初始化,並輸出“執行交通工具的有參構造方法。”)

u  capacity的set、get方法

u  print方法:輸出capacity

–      在包bzu.aa中定義一個汽車類(Car)繼承交通工具類:

n  屬性——speed

n  方法

u  無參構造方法(給speed初始化值爲0,並輸出“執行汽車類的無參構造方法。”)

u  有參構造方法(用super關鍵字調用父類的有參構造方法,傳參給speed初始化,並輸出“執行汽車類的有參構造方法。”)

u  加速(speedup):speed+10並返回speed;

u  減速(speeddown):speed-15並返回speed;

u  重寫print方法:輸出speed和capacity。

–      在包bzu.bb中定義一個final的公交車類(Bus),繼承汽車類:

n  屬性——載客量(capacity)<變量隱藏>

n  方法

u  無參構造方法(給capacity初始化值爲20,並輸出“執行公交車類的無參構造方法。”)

u  有參構造方法(用super關鍵字調用父類的有參構造方法,傳參給capacity初始化,並輸出“執行公交車類的有參構造方法。”)

u  重寫print方法:輸出speed、 capacity及父類的capacity。

–      在包bzu.bb中編寫一個主類Test:

n  主函數

u  調用無參構造方法創建一個Car的對象car;調用加速方法將速度加至50,調用print方法;調用減速方法,將速度減至20,調用print方法。

u  調用有參構造方法創建一個Bus的對象bus;調用print方法。

 Vehicle1類:

package javawork;

public class Vehicle1 {
int capacity;
Vehicle1()
{
capacity=2;
System.out.println("載客量:"+capacity);
}
Vehicle1(int capacity)
{
this.capacity=capacity;
System.out.println("載客量:"+capacity);
}
void setCapacity(int b)
{
capacity=b;
}
int getCapacity()
{
return capacity;
}
void print()
{
System.out.println("載客量:"+capacity);
}
}


Car類:

package javawork;


public class Car extends Vehicle1 {
int speed;
Car()
{
speed=0;
System.out.println("初始速度爲:"+speed);
}
Car(int capacity)
{
super(capacity);
//System.out.println("載客量爲:"+capacity);
}
int speedUp()
{
speed+=10;
return speed;
}
int speedDown()
{
speed-=15;
return speed;
}
void print()
{
System.out.println("速度:"+speed);
System.out.println("載客量:"+capacity);
}
}

bus類:

package javawork;


public class Bus extends Car{
Bus()
{
capacity=20;
System.out.println("載客量:"+capacity);
}
Bus(int capacity)
{
super(capacity);
//System.out.println("載客量:"+capacity);
}
void print()
{
System.out.println("速度:"+speed);
System.out.println("載客量:"+capacity);
System.out.println("父類載客量:"+super.capacity);
}
}

測試類:

package javawork;


public class Testbus {
public static void main(String[] args) {
System.out.print("汽車類測試:");
Car car=new Car();
System.out.print("加速後,");
while(car.speed<50)
car.speedUp();
car.print();
System.out.print("減速後,");
while(car.speed>20)
car.speedDown();
car.print();
System.out.print("公交車類測試:");
bus.print();
}
}


測試結果:





反思:

1測試類一定不要忘記寫主函數。

2類名的首字母使用大寫字母。類名最好容易識別、見名知意。當類名由幾個“單詞”複合而成時,每個單詞的首字母使用大寫。

3對象、變量或方法的名字除了符合標識符規定外,名字的首單詞的首字母使用小寫;如果變量或方法的名字由多個單詞組成,從第2個單詞開始的其它單詞的首字母使用大寫。

4提倡一行只聲明一個變量。  



5


出現這種錯誤提示時是因爲沒有主函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章