java 中Object的equals函数和对象重写的解释及示例

Object类里有一个equals方法,以下是针对这个方法的理解:

 

这个函数的用法是:比较[调用这个方法的对象]和[方法传递进去的参数对象]是否相等。

重写这个方法,意思是让你定义两个对象如何才算是相等。这样给了你极大的灵活性。因为比较两个对象是否相等是由你来定义的。这样你定义的新对象的比较也可以由你来定义。

举个例子:
假设1:现在你有一个clothes(衣服)类,有加工厂家,价格,型号三个参数。
假设2:你需要对比两件衣服是否是相同的,在这个比较中,加工厂家这个参数对你来说是不必要的,也就是说就算两件衣服在不同的厂家加工,可是它们价格和型号一样的情况下,你需要把它们视作同样的衣服。

那么:这时候你只需要在equals方法里定义比较价格和型号这两个参数,而不必去关心加工厂家这个参数。

 

以下是示例:

 

equals是判断两个对象是否相等,用法都在if判断语句用
String a = new String("java");
String b = new String("java");
if(a.equals(b)){
//doSomeThing
}else{
//doSomeThing
}

 

当然判断a和b对象不相等的写法为: !a.equals(b))也行


方法的重写又称重构(一般都叫重构。。。。)
就是子类重新写一个和父类参数,返回值类型一样的方法
public class A{
public int doSomeThing(int a ,int b){
System.out.println("父类的方法");
}
}
public class B extends A(){
public int doSomeThing(int c ,int d){
System.out.println("子类重写的方法");
}

 

所以源自于Object类里的equals方法,在object的子类里被重写了,比如在String类里面重写成了比较String的方法。

本意没有变,还是比较[调用这个方法的对象]和[方法传递进去的参数对象]是否相等。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值