请老师检查代码有无错误

请老师检查代码有无错误

请老师检查代码有无错误


相关代码:

public class Test {
    public static void main(String[] args){ 
		//实例化父类对象,并传入两组相同的属性值
        Car c1 = new Car("黑" , "张三");
        Car c2 = new Car("黑" , "张三");

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

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


		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 hm = new HomeCar("紫" , "孙二娘" , 7);

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

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)
	public boolean equals(Car temp){
	    if(temp == null){
	        return false;
	    }else{
	        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 this.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 "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 this.num;
   }
   

	//创建无参无返回值的display方法,表现为:**拥有的**颜色的私家车,有**座位
	public void display(){
	    System.out.println(this.getUserName() + "拥有的" + this.getColor() + "色颜色的私家车,有" + this.getNum() + "个座位");
	}


	//重载display方法(带参数num),描述为:家用汽车大多有**个座位
	public void display(int num1){
	    System.out.println("家用汽车大多有" + num1 + "个座位");
	}
}




正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2022-03-02 09:58:41

同学你好,同学提供的代码格式错乱,老师这里无法对代码进行格式化。请同学提供所有类的代码,并且按照以下方式以Java的格式提供,这样老师可以完整的复制同学的代码,确保不会出现偏差。

祝学习愉快~

https://img1.sycdn.imooc.com//climg/61f49f34090ea8a707790646.jpg

  • 提问者 王小east #1
    public class Test {
        public static void main(String[] args){ 
    		//实例化父类对象,并传入两组相同的属性值
            Car c1 = new Car("黑" , "张三");
            Car c2 = new Car("黑" , "张三");
    
    		//调用父类use方法
            c1.use();
    
    		//通过重写equals方法,比较两个对象是否相等
    		System.out.println("car1和car2的引用比较:" + c1.equals(c2));
    
    
    		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 hm = new HomeCar("紫" , "孙二娘" , 7);
    
    		//调用display方法及它的重载方法
    		hm.display();
    		hm.display(5);
    	}
    }
    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)
    	public boolean equals(Car temp){
    	    if(temp == null){
    	        return false;
    	    }else{
    	        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 this.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 "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 this.num;
       }
       
    
    	//创建无参无返回值的display方法,表现为:**拥有的**颜色的私家车,有**座位
    	public void display(){
    	    System.out.println(this.getUserName() + "拥有的" + this.getColor() + "色颜色的私家车,有" + this.getNum() + "个座位");
    	}
    
    
    	//重载display方法(带参数num),描述为:家用汽车大多有**个座位
    	public void display(int num1){
    	    System.out.println("家用汽车大多有" + num1 + "个座位");
    	}
    
    
    }

    辛苦老师再帮忙看下哈

    2022-03-02 23:03:48
  • 好帮手慕小蓝 回复 提问者 王小east #2

    同学你好,代码结果正确,逻辑结构清晰。但是有一点需要改进:

    题目中要求重写equals方法,而重写的语法要求参数与父类保持一致,即参数应当是Object类型而不是Car类型。

    建议同学将该方法重新实现一下。

    祝学习愉快~


    2022-03-03 09:54:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师