初学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"));
}
}
------解决方案--------------------
同样的帖子。

http://bbs.csdn.net/topics/390791677
------解决方案--------------------
对;永远为true;
------解决方案--------------------
打断点,调试一下如果你真想知道,哈哈。
------解决方案--------------------
用匿名内部类的形式重写了Object的equals方法,让调用该方法时永远结果为true
------解决方案--------------------
重写覆盖
------解决方案--------------------
你不是 通过匿名类的方式重写了么, 里面的返回值只返回 true,那调用的时候,肯定永远是true啦.
------解决方案--------------------
你重写了顶级类Object的equals方法且该方法永远返回true, 其他类调用equals方法也就是那结果了
------解决方案--------------------
public boolean equals(Object obj) {
return true;
}
你已经让它恒为true了,还想得到不同的结果吗?

------解决方案--------------------
已重写 , 已覆盖。
------解决方案--------------------
你new的匿名类重写equals,返回值永远都是true啊