为什么equals比较结果输出为false?

来源:4-3 编程练习

weixin_慕斯0354824

2020-02-12 14:21:40

package com.imooc.fruit;

public class Fruits {
    // 私有属性:水果的形状(shape)和口感(taste)
	private String shape;
    private String taste;
	public Fruits() {

	}

	// 带参构造函数(参数为shape和taste)
	public Fruits(String shape,String taste){
	    this.setShape(shape);
	    this.setTaste(taste);
	}
    //通过封装实现对私有属性的get/set访问
   public void setShape(String shape){
       this.shape=shape;
   }
   public String getShape(){
       return shape;
   }
   public void setTaste(String taste){
       this.taste=taste;
   }
   public String getTaste(){
       return taste;
   }
	// 创建无参无返回值得方法eat(描述内容为:水果可供人们食用!)
	public void eat(){
	    System.out.println("水果可供人们食用!");
	}
    public boolean equeals(Object obj){
        if (obj==null){return false;}
    	Fruits temp =(Fruits)obj;
        if(this.getShape().equals(temp.getShape())&&this.getTaste().equals(temp.getTaste())){return true;}
        else {return false;}
             
    }





	// 重写equals方法,比较两个对象是否相等(比较shape,taste)
	


}
package com.imooc.fruit;

public class Test {
    public static void main(String[] args) {
		// 实例化2个父类对象,传入两组相同的参数值
		Fruits fru1=new Fruits("圆形","红色");
		Fruits fru2=new Fruits("圆形","红色");
		// 调用父类eat方法
		fru1.eat();	
		boolean f=fru1.equals(fru2);
		// 测试重写equals方法,判断两个对象是否相等
	    System.out.println("fru1和fru2的引用比较:"+f);

	System.out.println("————————————————————————————————————————");
		// 实例化子类对象,并传入相关参数值
	    Waxberry wax=new Waxberry("圆形","酸甜适中","紫红色");
        wax.face();
        wax.eat();
		// 调用子类face方法和eat方法
	    System.out.println(wax.toString());

		// 测试重写toString方法,输出子类对象的信息
		

		System.out.println("——————————————————————————————————————————————");
		// 实例化Banana类对象,并传入相关参数值
		Banana ba=new Banana("短而稍圆","果肉香甜","黄色","仙人蕉");
		ba.advantage();
		ba.advantage("黄色");

		// 调用子类的advantage和它的重载方法
	

	}
}


写回答

1回答

好帮手慕小脸

2020-02-12

同学你好,错误原因是因为Fruits类中equals方法单词书写有误。同学代码如下:

http://img.mukewang.com/climg/5e43af5c0997651305710136.jpg

修改建议:

http://img.mukewang.com/climg/5e43afb809e54ca909750308.jpg

    同学可根据快捷键生成方法,如下,右键选中--》source

http://img.mukewang.com/climg/5e43af8e09922f1907440584.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 11489 问题

查看课程