class
Cat{
int color;
int weight,height;
public Cat( int c, int w, int h){
this .color = c;
this .height = h;
this .weight = w;
}
public boolean equals(Object obj)
{
if (obj == null)
{
return false;
}
else
{
if (obj instanceof Cat)
{
Cat c = (Cat)obj;
if (c.color == this .color && c.weight == this .weight && c.height == this .height)
{
return true;
}
}
}
return false;
}
//public String toString(){
// return "cat1 --> color is "+this.color;
//}
}
public class A {
public static void main (String [] args)
{
Cat cat1 = new Cat( 1 , 2 , 3 );
Cat cat2 = new Cat( 1 , 2 , 3 );
Cat cat3 = new Cat( 1 , 2 , 6 );
System.out.println(cat1 == cat2); //表示内存要相同
System.out.println(cat1.equals(cat2)); // 默认使用Object的equals的方法
//而在Object中equals 方法也是比较是否内存地址相同(==),
//所以如果不重写equals方法,结果仍然为false
System.out.println(cat1.equals(cat3));
//String 类中equals方法
String str1 = new String( "majianjie" );
String str2 = new String( "majianjie" );
System.out.println(str1 == str2); //false
System.out.println(str1.equals(str2)); //true 因为String中已经重写了Object中的equals方法
//toString 方法
System.out.println(cat1); //默认调用Object 中的toString方法 : 类名+@+hashcode
System.out.println(cat1); //重写Object中的toString方法
}
}
int color;
int weight,height;
public Cat( int c, int w, int h){
this .color = c;
this .height = h;
this .weight = w;
}
public boolean equals(Object obj)
{
if (obj == null)
{
return false;
}
else
{
if (obj instanceof Cat)
{
Cat c = (Cat)obj;
if (c.color == this .color && c.weight == this .weight && c.height == this .height)
{
return true;
}
}
}
return false;
}
//public String toString(){
// return "cat1 --> color is "+this.color;
//}
}
public class A {
public static void main (String [] args)
{
Cat cat1 = new Cat( 1 , 2 , 3 );
Cat cat2 = new Cat( 1 , 2 , 3 );
Cat cat3 = new Cat( 1 , 2 , 6 );
System.out.println(cat1 == cat2); //表示内存要相同
System.out.println(cat1.equals(cat2)); // 默认使用Object的equals的方法
//而在Object中equals 方法也是比较是否内存地址相同(==),
//所以如果不重写equals方法,结果仍然为false
System.out.println(cat1.equals(cat3));
//String 类中equals方法
String str1 = new String( "majianjie" );
String str2 = new String( "majianjie" );
System.out.println(str1 == str2); //false
System.out.println(str1.equals(str2)); //true 因为String中已经重写了Object中的equals方法
//toString 方法
System.out.println(cat1); //默认调用Object 中的toString方法 : 类名+@+hashcode
System.out.println(cat1); //重写Object中的toString方法
}
}