Object类的方法
1:创建Student对象并打印效果
A:打印他的时候,默认调用的他的toString方法
B:Student没有toString方法,调用的是Object的toString方法
C:object的toString方法 返回值是 包名...类名+@+16进制地址值 ,我们一般使用toString方法都要重写他
2:关于==做比较的问题
A:基本类型的比较: 比较的是值
B:引用类型的比较: 比较的是引用类型所指向的地址值
3:自己实现对象的成员变量数据的比较
“2”,“3”目的是为了引出Object中的equals方法
4:Object中的equals方法
源码其实就是用“==”比较的两个变量
我们一般需要重写,如何重写?
1):如果是这个对象
2):如果不是这个对象,而又不是这一类对象
3):如果他是这一类对象,那就好说了,强转,然后比较每个变量的值
代码实现:
public boolean equals(Object obj)
{
//为了提高代码的效率
if( this == obj)
{
return true;
}
//为了提高代码的健壮性
if( !( obj instanceof Student) )
{
return false;
}
Student s = (Student)obj; //向下转型
return this.age == s.age;
} |
|