编程练习。每天提问超两次就扣积分了吗
public class Car {
// 属性:车的颜色color、车主姓名userName
private String color;
private String userName;
public Car() {
}
// 带参构造函数(参数为color和userName)
public Car(String color,String userName) {
this.setColor(color);
this.setUserName(userName);
}
// 通过封装实现对私有属性的get/set操作
public void setColor(String color) {
this.color=color;
}
public String getColor() {
return this.color;
}
public void setUserName(String userName) {
this.userName=userName;
}
public String getUserName() {
return this.userName;
}
// 创建无参无返回值得方法use(描述内容为:我是机动车!)
public void use() {
System.out.println("我是机动车!");
}
// 重写equals方法,比较两个对象是否相等(比较color,userName)
@Override
public boolean equals(Object obj) {
if(obj==null) {
return false;
}
Car temp = (Car)obj;
if(this.getColor().equals(temp.getColor()) && this.getColor().equals(temp.getColor())) {
return true;
}else {
return false;
}
}
}public class Taxi extends Car {
// 私有属性:所属公司( company)
private String company;
public Taxi() {
}
// 调用父类的构造方法,完成属性赋值
public Taxi(String userName,String company,String color) {
super(color,userName);
this.setCompany(company);
}
// 通过封装实现对私有属性的get/set操作
public void setCompany(String company) {
this.company=company;
}
public String getCompany() {
return this.company;
}
// 创建不允许重写的ride方法,描述为:**出租车是所属于***公司的。
public final void ride() {
System.out.println(this.getUserName()+"的出租车是属于"+this.getCompany()+"公司的。");
}
// 重写父类use方法,描述为:出租车是提高市民生活质量的重要条件之一
@Override
public void use() {
System.out.println("出租车是提高市民生活质量的重要条件之一");
}
// 重写toString方法,输出的表现形式不同(输出color,userName)
@Override
public String toString() {
return "taxi的信息是:"+this.getUserName()+"拥有一辆"+this.getColor()+"的出租车";
}
}
public final class HomeCar extends Car {
// 私有属性:载客数(num)
private int num;
public HomeCar() {
}
// 带参构造方法为所有属性赋值
public HomeCar(String userName,String color,int num) {
super(color,userName);
this.setNum(num);
}
// 通过封装实现对私有属性的get/set操作
public void setNum(int num) {
this.num=num;
}
public int getNum() {
return this.num;
}
// 创建无参无返回值的display方法,表现为:**拥有的**颜色的私家车,有**座位
public void display() {
System.out.println(this.getUserName()+"拥有的"+this.getColor()+"颜色的私家车,有"+this.getNum()+"个座位");
}
// 重载display方法(带参数num),描述为:家用汽车大多有**个座位
public void display(int num) {
System.out.println("家用汽车大多有"+num+"个座位");
}
}
public class Test {
public static void main(String[] args) {
// 实例化父类对象,并传入两组相同的属性值
Car car1 = new Car("黄色", "张辉");
Car car2 = new Car("黄色", "张辉");
// 调用父类use方法
car1.use();
// 通过重写equals方法,比较两个对象是否相等
boolean flag = car1.equals(car2);
System.out.println("car1和car2的引用比较:" + flag);
System.out.println("==================================");
// 实例化子类Taxi对象,并传入属性值
Taxi t = new Taxi("张小泉","长生","蓝色");
// 调用ride和use方法
t.ride();
t.use();
// 输出重写toString后的taxi信息
System.out.println(t.toString());
System.out.println("==================================");
// 实例化子类HomeCar对象,并传入属性值
HomeCar hc = new HomeCar("孙二娘","紫色",7);
// 调用display方法及它的重载方法
hc.display();
hc.display(5);
}
}16
收起
正在回答
3回答
同学你好,1. 在金职业中提问是不会扣积分的。
2. 关于此问题感谢同学的反馈,老师已反馈给相关人员。
给您的学习带来不便,深感歉意!祝学习愉快!
java工程师2020版
- 参与学习 人
- 提交作业 9410 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星