请检查代码,谢谢~
来源:5-2 编程练习
慕少6083615
2020-04-20 16:21:23
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 taxi=new Taxi("蓝色","张小泉","长生公司"); //调用ride和use方法 System.out.println(taxi.ride()); taxi.use(); //输出重写toString后的taxi信息 System.out.println(taxi.toString()); System.out.println("=================================="); //实例化子类HomeCar对象,并传入属性值 HomeCar homeCar=new HomeCar("紫色","孙二娘",7); //调用display方法及它的重载方法 homeCar.display(); homeCar.display(5); } } public class Car { //属性:车的颜色color、车主姓名userName private String color; private String userName; public Car(){ } //带参构造函数(参数为color和useName) 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; } } 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 String ride(){ String str=this.getUserName()+"的出租车是属于"+this.getCompany()+"的"; return str; } //重写父类use方法,描述为:出租车是提高市民生活质量的重要条件之一 public void use(){ System.out.println("出租车是提高市民生活质量的重要条件之一"); } //重写toString方法,输出的表现形式不同(输出color,userName) public String toString(){ return "taxi的信息是:"+this.getUserName()+"拥有一辆"+this.getColor()+"的出租车"; } } public final class HomeCar extends Car{ //私有属性:载客数(num) private int num; public HomeCar(){ } //带参构造方法为所有属性赋值 public HomeCar(String color,String userName,int num){ super(color,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()+"颜色的私家车,有"+getNum()+"座位"); } //重载display方法(带参数num),描述为:家用汽车大多有**个座位 public void display(int num){ System.out.println("家用汽车大多有"+num+"个座位"); } }
1回答
同学你好,已完成练习,棒棒哒!继续加油!
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题