为什么if(this==obj)代表判断2个引用的值是否相同,还有,.把什么传给obj呢?

来源:9-9 Java 中的 Object 类 Ⅱ

qq_两_0

2017-10-31 13:04

原句

public boolean equals(Object obj){

if(this==obj)

return ture; 

}

写回答 关注

3回答

  • No幻想
    2017-11-07 16:42:37

    main函数中 

    if(dog.equals(dog2)){}  这就会调用重写的equals方法。所以this表示当前对象即dog,obj表示形参dog2。

    ==就是判断两个引用对象的地址是否相等,如果相等那么值一定相等。

    望采纳


  • Yeee
    2017-11-06 17:58:39

    在main函数里不是有写吗  if(dog.equals(dog2)){}  括号里的dog2就是传到equals方法的参数(即obj)

  • 慕粉1470632662
    2017-10-31 14:16:17

    ==的判断标准是只有2个对象都是引用的相同对象才相等,比对对象,如果对象地址相同返回ture。this表示本对象,obj就是类的对象。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530559 学习 · 6091 问题

查看课程

相似问题