Object
object类是所有类的根基类
public class Person{
}
等价于
public class Person extends Object{
}
一个字符串和另外一种数据类型连接时,会将其在转化成字符串再连接
但是当字符串和类连接时,需要用到ToString
example_toString()
public class TestToString{
public static void main(String args[]){
Dog d = new Dog();
System.out.println("Dog d=" + d);//输出结果为 Dog d=Dog@15db9742,这里相当于使用d.toString()
}
}
class Dog{//Dog里面并没有来定义toString方法,但这是我们从Object里面继承而来的
}//toString 方法 getClass().getName() + '@' + Integer.toHexString(hashcode()),hashcode用来表示某个对象,并可以通过它找到该对象的位置
example:equals()
public class TestEquals {
public static void main(String[] args){
Cat mm = new Cat(1,2,3);
Cat nn = new Cat(1,2,3);
System.out.println(mm == nn);//c1≠c2,因为判断是否相同是比较c1,c2里面的内容
System.out.println(mm.equals(nn));//退一步,只要比较mm和nn对象的内容
}//但是只有当mm和nn指向同一对象时,mm.equals(nn)才会为true.,所以说这种写法和mm = nn相同
}
class Cat{
int color;
int weight,height;
public Cat(int color,int weight,int height){
this.color = color;
this.weight = weight;
this.height = height;
}
public boolean equals(Object obj){
//return true;
if (obj == null) {
return false;
}
else{
if (obj instanceof Cat){//判断obj是不是Cat对象的引用
Cat c=(Cat) obj;//强制转换成Cat class——
if (c.color == this.color && c.weight == this.weight && c.height == this.height){//比较内容
return true;
}
}
return false;
}
}
}