调用Object类的equals方法的结果

唉唉唉33 2014-05-29 07:19:11
初学Java,看到一个问题,请问结果TRUE是怎么来的?

public class TestObj {
public static void main(String[] args) {
Object o = new Object() {
public boolean equals(Object obj) {
return true;
}
};
System.out.println(o.equals("Fred"));
}
}
...全文
227 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang_huanming 2014-06-03
  • 打赏
  • 举报
回复
你new的匿名类重写equals,返回值永远都是true啊
腊月熊 2014-05-30
  • 打赏
  • 举报
回复
已重写 , 已覆盖。
姜小白- 2014-05-30
  • 打赏
  • 举报
回复

 public boolean equals(Object obj) {
                return true;
            }
你已经让它恒为true了,还想得到不同的结果吗?
ZZZ5512536 2014-05-30
  • 打赏
  • 举报
回复
你重写了顶级类Object的equals方法且该方法永远返回true, 其他类调用equals方法也就是那结果了
wonkju 2014-05-30
  • 打赏
  • 举报
回复
你不是 通过匿名类的方式重写了么, 里面的返回值只返回 true,那调用的时候,肯定永远是true啦.
-江沐风- 2014-05-29
  • 打赏
  • 举报
回复
重写覆盖
fengerpiao123 2014-05-29
  • 打赏
  • 举报
回复
用匿名内部类的形式重写了Object的equals方法,让调用该方法时永远结果为true
令狐-少侠 2014-05-29
  • 打赏
  • 举报
回复
引用 楼主 a111116_ 的回复:
初学Java,看到一个问题,请问结果TRUE是怎么来的?

public class TestObj {
	public static void main(String[] args) {
		Object o = new Object() {
			public boolean equals(Object obj) {
				return true;
			}
		};
		System.out.println(o.equals("Fred"));
	}
}
打断点,调试一下如果你真想知道,哈哈。
令狐-少侠 2014-05-29
  • 打赏
  • 举报
回复
引用 1 楼 lymoge 的回复:
同样的帖子。 http://bbs.csdn.net/topics/390791677
对;永远为true;
lymoge 2014-05-29
  • 打赏
  • 举报
回复
同样的帖子。 http://bbs.csdn.net/topics/390791677

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧