2.1 定义一个汽车类Vehicle
2.1.1 属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型)。
2.1.2 至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。
2.1.3 为属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。
2.1.4 定义一个一般方法run(),用打印语句描述汽车奔跑的功能
2.1.5 在main方法中创建一个品牌为“benz”、颜色为“black”的汽车。
2.2 定义一个Vehicle类的子类轿车类Car,要求如下:
2.2.1 轿车有自己的属性载人数loader(int 类型)。
2.2.2 提供该类初始化属性的构造方法。
2.2.3 重新定义run(),用打印语句描述轿车奔跑的功能。
2.2.4 在main方法中创建一个品牌为“Honda”、颜色为“red”,载人数为2人的轿车。
这道题,我把父类的属性进行了私有化,用get和set方法提供给子类调用,练习了一下封装(有多重写法,仅供参考,如有思路不对,请指正!)
这里先写Vehicle的类
public class Vehicle {
//这是属性
private String brand;//汽车品牌
private String color;//颜色
private double speed;//速度
//写出响应的构造,也可以用ALT+Shift+S导入
public Vehicle(String brand, String color) {
super();
this.brand = brand;
this.color = color;
this.speed = 0;//按照要求将speed初始化为0
}
public Vehicle() {
super();
}
public String getBrand() {
return brand;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getSpeed() {
return speed;
}
public void setSpeed(double speed) {
this.speed = speed;
}
public void run() {
System.out.println("品牌:"+brand+" 颜色:"+color+" 速度:"+speed+", 此车载人2人");
}
//在main方法中创建一个品牌为“Honda”、颜色为“red”,载人数为2人的轿车。
public static void main(String[] args) {
Vehicle v1=new Vehicle("benz","black");//在对象中加入参数,由于不需要输出speed,我在上面的方法中没有写入speed参数
v1.run();//调用run()方法
}
}
在写入Car类,将Car继承Vechicle父类
public class Car extends Vehicle{//继承父类Vechicle
int loader;//加入属性
public Car(int loader) {
this.loader = loader;
}
public Car(String brand, String color, double speed,int loader) {
super(brand, color);
this.loader = loader;
System.out.println(brand+","+color+","+loader);
}
public void run() {
System.out.println("品牌:"+getBrand()+" 颜色"+getColor());
System.out.println("777777777");
}
public static void main(String[] args) {
// Car c1=new Car(2);
// c1.setColor("red");
// c1.run();
Car c2=new Car("Honda","red",0,2);
}
}