課堂練習:
–在包bzu.aa中定義一個交通工具類(Vehicle):
1、屬性——載客量(capacity)
2、方法
(1)無參構造方法(給capacity初始化值為2,并輸出“執(zhí)行交通工具類的無參構造方法。”)
(2)有參構造方法(傳參給capacity初始化,并輸出“執(zhí)行交通工具的有參構造方法。”)
(3)capacity的set、get方法
(4)print方法:輸出capacity
–在包bzu.aa中定義一個汽車類(Car)繼承交通工具類:
1、屬性——speed
2、方法
(1)無參構造方法(給speed初始化值為0,并輸出“執(zhí)行汽車類的無參構造方法。”)
(2)有參構造方法(用super關鍵字調用父類的有參構造方法,傳參給speed初始化,并輸出“執(zhí)行汽車類的有參構造方法。”)
(3)加速(speedup):speed+10并返回speed;
(4)減速(speeddown):speed-15并返回speed;
(5)重寫print方法:輸出speed和capacity。
–在包bzu.bb中定義一個final的公交車類(Bus),繼承汽車類:
1、屬性——載客量(capacity)<變量隱藏>
2、方法
(1)無參構造方法(給capacity初始化值為20,并輸出“執(zhí)行公交車類的無參構造方法。”)
(2)有參構造方法(用super關鍵字調用父類的有參構造方法,傳參給capacity初始化,并輸出“執(zhí)行公交車類的有參構造方法。”)
(3)重寫print方法:輸出speed、 capacity及父類的capacity。
–在包bzu.bb中編寫一個主類Test:
1、主函數(shù)
(1)、調用無參構造方法創(chuàng)建一個Car的對象car;調用加速方法將速度加至50,調用print方法;調用減速方法,將速度減至20,調用print方法。
(2)、調用有參構造方法創(chuàng)建一個Bus的對象bus;調用print方法。 ##
Vehicle類:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
package bzu.aa; public class Vehicle { protected int capacity; public Vehicle (){ capacity= 2 ; System.out.println( "執(zhí)行交通工具類的無參構造方法." ); } public Vehicle( int capacity){ //super(); this .capacity=capacity; System.out.println( "執(zhí)行交通工具類的有參構造方法." ); } 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í)行汽車類的無參構造方法." ); } public Car( int speed){ super ( 6 ); this .speed=speed; System.out.println( "執(zhí)行汽車類的有參構造方法." ); } 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í)行公交車類的無參構造方法." ); } public Bus( int capacity){ super ( 40 ); this .capacity=capacity; System.out.println( "執(zhí)行公交車類的有參構造方法." ); } 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編程之繼承問題代碼示例的全部內容,希望對大家有所幫助。有什么問題可以隨時留言,小編會及時回復大家的。感謝朋友們對本站的支持!
原文鏈接:https://www.2cto.com/kf/201710/691230.html