出租车和家用轿车的信息描述(java 作业)
一、任务
要求:
1、 根据出租⻋和家⽤轿⻋的共性,抽取⽗
类Car
属性:⻋的颜⾊color、⻋主姓名userName
⽅法:
1) 带参构造函数(参数为color和useNam
e)
2) 创建⽆参⽆返回值得⽅法use(描述内容
为:我是机动⻋!)
3) 重写equals⽅法,⽐较两个对象是否相
等(⽐较color,userName)
2、⼦类taxi
属性:所属公司( company)
⽅法:
1) 调⽤⽗类的构造⽅法,完成属性赋值
2) 创建不允许重写的ride⽅法,描述为:**
出租⻋是所属于在
***
公司的。
3) 重写⽗类use⽅法,描述为:出租⻋是提
⾼市⺠⽣活质量的重要条件之
⼀
4) 重写toString⽅法,输出的表现形式不同
(输出color,userName)
3、⼦类:私家⻋HomeCar
属性:载客数(num)
⽅法:
1) 带参构造⽅法为所有属性赋值
2) 创建⽆参⽆返回值的display⽅法,表现
为:**
拥有的
**
颜⾊的私家⻋有
**
座位
3) 重载要求(2)中的display⽅法(带参数
num),描述为:家⽤汽⻋⼤多有
**
个座位
4) 要求私家⻋类不允许有⼦类
4、测试类,运⾏效果参照效果图:
1) 实例化2个⽗类对象,并传⼊两组相同的
参数值
2) 调⽤⽗类use⽅法
3) 测试重写equals⽅法,判断两个对象是
否相等
4) 实例化⼦类对象,并传⼊相关参数值
5) 调⽤⼦类ride⽅法和use⽅法
6) 测试重写toString⽅法,输出⼦类对象的
信息
7) 实例化HomeCar类对象,并传⼊相关参
数值
二、实现代码及运行图片
1.Test.java
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//实例化两个父类对象,并传入两组相同的参数值
Car car1=new Car("蓝色","张小泉");
Car car2=new Car("蓝色","张小泉");
//调用父类use方法
car1.use();
car2.use();
//测试重写equals 方法,判断两个对象是否相等
System.out.println("car1和car2的引用比较:"+car1.equals(car2));
System.out.println("======================");
//实例化子类对象,并传入相关参数值
Taxi taxi=new Taxi("蓝色","张小泉","长生公司");
taxi.ride();
taxi.use();
//测试重写toString 方法,输出子类对象的信息
System.out.println(taxi.toString());
System.out.println("======================");
HomeCar hc=new HomeCar("紫色","张二娘",7);
hc.display();
hc.display(5);
}
}
2.Car.java
public class Car {
private String color;
private String userName;
public Car() {
}
public Car(String color,String userName) {
this.setColor(color);
this.setUserName(userName);
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void use() {
System.out.println("我是机动车");
}
public boolean equals(String color,String userName)
{
if(this.getColor()==null||this.getUserName()==null)
return false;
else
return true;
}
public boolean equals(Car car) {
if(this.getColor()==car.getColor()||this.getUserName()==car.getUserName())
return true;
else
return false;
}
}
3.HomeCar.java
public final class HomeCar extends Car{
private int num;
public HomeCar() {
}
public HomeCar(String color,String userName,int num) {
super(color,userName);
this.setNum(num);
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public void display() {
System.out.println(this.getUserName()+"拥有的"+this.getColor()+"颜色的私家车有"+this.getNum()+"座位");
}
public void display(int num) {
this.setNum(num);
System.out.println("家用汽车大多有"+this.getNum()+"个座位");
}
}
4.Taxi.java
public class Taxi extends Car{
private String company;
public Taxi() {
}
//对所有参数进行赋值
public Taxi(String color,String userName,String company) {
super(color,userName);
this.setCompany(company);
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public final void ride() {
System.out.println(this.getUserName()+"的出租车是所属于在"+this.getCompany());
}
public void use() {
System.out.println("出租车是提高市民生活质量的重要条件之一");
}
public String toString() {
return "taxi的信息是"+this.getUserName()+"拥有一辆"+this.getColor()+"的出租车";
}
}
5.运行图片


浙公网安备 33010602011771号