Java类继承以及接口实现实例
南宁达内:Java类继承以及接口实现实例
Java类继承以及接口实现实例:这个实例非常容易理解,贴在这里与大家共享。
1 //抽象父类,交通工具(Vehicle) 2 public abstract class Vehicle{ 3
private String name; 4
private double cost; 5
6
//无参构造函数
7
public Vehicle(){ 8
} 9 10
//有参构造函数 11
public Vehicle(String name, double cost){ 12
this.name = name; 13
this.cost = cost; 14
} 15 16
//父类的抽象方法,在子类中要具体实现。
17
public abstract void run();
18
public abstract void stop(); 19 20
//getter方法
21
public String getName(){ 22
return this.name; 23
} 24 25
public double getCost(){ 26
return this.cost; 27
} 28 29
//setter方法 30
public void setName(String name){ 31
this.name = name; 32
} 33 34
public void setCost (double cost){ 35
this.cost = cost; 36
}
37 } 38 39 40 41 //上缴养路费的接口 42 public interface interRoadTax{ 43
public void tax(); 44 } 45 46 47 48 //子类自行车Bike,继承Vehicle 49 public class Bike extends Vehicle{ 50
private int bikeType; 51 52
//无参构造函数 53
public Bike(){} 54
55
//有参构造函数 56
public Bike(String name, double cost, int type){ 57
super(name,cost); //通过父类方法进行赋值 58
this.bikeType = type; 59
} 60 61
//setter方法
62
public void setBikeType(int type){ 63
this.bikeType = type; 64
} 65
66
//getter方法 67
public int getBikeType(){ 68
return this.bikeType; 69
} 70
71
//继承父类Vehicle的抽象方法,在子类中要具体实现。 72
public void run(){ 73
System.out.println("i am bike and running……"); 74
} 75 76
//继承父类Vehicle的抽象方法,在子类中要具体实现。
77
public void stop(){ 78
System.out.println("i am bike and stopping……"); 79
} 80 } 81 82 83 84 //子类汽车Car,继承Vehicle,同时实现interRoadTax接口 85 public class Car extends Vehicle implements interRoadTax{ 86
private int numberOfPeople; 87
88
//无参构造函数 89
public Car(){} 90
91
//有参构造函数 92
public Car(String name, double cost, int numberOfPeople){ 93
super(name,cost);//通过父类方法进行赋值 94
this.numberOfPeople = numberOfPeople; 95
} 96
97
//getter方法 98
public int getNumberOfPeople(){ 99
return this.numberOfPeople;100
}101
102
public void setNumberOfPeople(int numberOfPeople){103
this.numberOfPeople = numberOfPeople;104
}105
106
//继承父类Vehicle的抽象方法,在子类中要具体实现。107
public void run(){108
System.out.println("i am car and running……");109
}110 111
//继承父类Vehicle的抽象方法,在子类中要具体实现。112 public void stop(){113
System.out.println("i am car and stopping……");114
}115 116
//实现上缴养路费的接口方法
117
public void tax(){118
System.out.println("the car tax is " + getCost() * 0.1);119
}
120 }121 122 123 124 //子类摩托车Motor,继承Vehicle,同时实现interRoadTax接口125 public class Motor extends Vehicle implements interRoadTax{126
public Motor(){}127
public Motor(String name,double cost){128
super(name,cost);129
}130
131
public void run(){132
System.out.println("i am Motor and running……");133
}134 135
public void stop(){136
System.out.println("i am Motor and stopping……");137
}138
139
public void tax(){140
System.out.println("the motor tax is " + getCost() * 0.05);141
}
142 }143 144 145 146 //交通工具的主人147 public class User{148
private int id;149
private String name;150 151
private Vehicle v;152
153
public User(){}154 155
public User(int _id,String _name){156
id = _id;157
name = _name;158
}159
160
public void print(){161
System.out.println("the user is "+ id +" - "+ name);162
}163
164
public void setV(Vehicle v){165
this.v = v;166
}167
168
public Vehicle getV(){169
return this.v;170
}171 }172 173 174 //测试类175 public class UserTest{176
public static void main(String[] args){177
178
User[] users = new User[3];179 180
Vehicle v1 = new Bike("fenghuang", 500.00, 1);181
Vehicle v2 = new Motor("honda", 10000.00);182
Vehicle v3 = new Car("polo", 145678.00, 5);183
184
users[0] = new User(1,"yanming");185
users[0].setV(v1);186
users[1] = new User(2,"laoxia");187
users[1].setV(v2);188
users[2] = new User(3,"zhaomengran");189
users[2].setV(v3);190
191
192
System.out.println("=====to begin test class=====");193
users[0].print();194
users[0].getV()。run();195
users[1].print();196
users[1].getV()。run();197
users[2].print();198
users[2].getV()。run();199
200
201
System.out.println("=====to hand up Road Tax=====");202
for(User u : users){203
Vehicle v = u.getV();204
if(v instanceof Car){205
Car c = (Car)v;206
c.tax();207
}208 209
if(v instanceof Motor){210
Motor m = (Motor)v;211
m.tax();212
}213 214
if(v instanceof Bike){215
System.out.println(" hah ,no tax");216
}217
}218
}219 }
文中图片素材来源网络,如有侵权请联系删除网上报名
新闻资讯
更多>>-
达内就业快讯
2012-11-12
-
达内招聘
2012-11-12
-
南宁达内:才气外露 Google推安卓程
2012-11-21
-
南宁达内:PHP最近很疯狂
2012-11-21
-
南宁达内:Sina微博OAuth2框架
2012-11-21