一般euqals 没有被重写时,自己定义的类,默认继承Object类。在Object类中,equals 与== 作用是相同的。都是比较句柄地址。
声明格式为: public boolean equals(Object obj)
所以equals的比较规则为:当参数obj引用的对象与当前对象为同一个对象时,就返回true,否则返回false.
楼主new了两个不同的对象,a与b. 并在栈内存中开辟两个空间,指向a,b。所以a,与b不为同一个对象。 testEquals c = b;这里,把b的地址值给了c,故,b.equals(c)为true.
所以结果为:==b和c的内存指向相同 B和C equals比较内容相同 |