请老师批改,这次练习写的比较轻松了

来源:4-4 编程练习

一娆Hacker

2020-12-02 19:41:51

Test.java

public class Test {
public static void main(String[] args){
//实例化父类对象,并传入两组相同的属性值
Car one=new Car("黄","徐慧强");
Car two=new Car("黄","徐慧强");

//调用父类use方法
one.use();

//通过重写equals方法,比较两个对象是否相等
System.out.println("car1和car2的引用比较:"+one.equals(two));


System.out.println("==================================");
//实例化子类Taxi对象,并传入属性值
Taxi tax1=new Taxi("蓝色","张小泉","长生");

//调用ride和use方法
tax1.ride();
tax1.use();

//输出重写toString后的taxi信息
System.out.println("taxi的信息是:"+tax1.toString());

System.out.println("==================================");
//实例化子类HomeCar对象,并传入属性值
HomeCar hom1=new HomeCar("紫色","孙二娘",7);

//调用display方法及它的重载方法
hom1.display();
hom1.display(5);


}
}

Car.java

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 color;
}
public void setUserName(String userName){
this.userName=userName;
}
public String getUserName(){
return userName;
}
//创建无参无返回值得方法use(描述内容为:我是机动车!)
public void use(){
System.out.println("我是机动车!");
}
//重写equals方法,比较两个对象是否相等(比较color,userName)
public boolean equals(Object obj){
if(obj==null){
return false;
}
Car temp=(Car)obj;
if(this.getColor().equals(temp.getColor())&&this.getUserName().equals(temp.getUserName()))return true;
else return false;
}



}

Taxi.java

public class Taxi extends Car{
//私有属性:所属公司( company)
private String company;

public Taxi(){

}
//调用父类的构造方法,完成属性赋值
public Taxi(String color,String userName,String company){
super(color,userName);
this.setCompany(company);
}

//通过封装实现对私有属性的get/set操作
public void setCompany(String company){
this.company=company;
}
public String getCompany(){
return company;
}

//创建不允许重写的ride方法,描述为:**出租车是所属于***公司的。
public final void ride(){
System.out.println(this.getUserName()+"出租车是所属于"+this.getCompany()+"公司的");
}

//重写父类use方法,描述为:出租车是提高市民生活质量的重要条件之一

public void use(){
System.out.println("出租车是提高市民生活质量的重要条件之一");
}
//重写toString方法,输出的表现形式不同(输出color,userName)
public String toString(){
return this.getUserName()+"拥有一辆"+this.getColor()+"的出租车";
}




}

HomeCar.java

public final class HomeCar extends Car{
//私有属性:载客数(num)
private int num;


public HomeCar(){

}
//带参构造方法为所有属性赋值
public HomeCar(String color,String userName,int num){
this.setColor(color);
this.setUserName(userName);
this.setNum(num);
}

//通过封装实现对私有属性的get/set操作
public void setNum(int num){
this.num=num;
}
public int getNum(){
return 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+"个座位");
}


}


写回答

1回答

好帮手慕小尤

2020-12-03

同学你好,已完成练习,很棒哦~ 继续加油!
0

0 学习 · 16556 问题

查看课程