object类在lang包下,无需导包,是所有类的祖宗类,所有类最终继承它,它的方法所有子类都可以使用。
1.toString方法(返回字符串)
Object中的toString方法打印的是地址值,直接打印对象名,就是调用对象的toString方法
根据需要自己重写toString方法
public String toString(){
renturn “对象名{属性1=”+属性1+",属性2="+属性2+"}";
}
这时就打印对象的属性值
看一个类是否重写了toString方法,直接打印对象的名字即可
如果没有重写toString方法,那么打印的就是对象地址值
如果重写了toString方法,那么按照重写的方式打印
2.当中的equals方法
public boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
参数:Object anObject:可以传递任意参数
==比较运算符
基本数据类型:比较的是值
引用数据类型:比较的是两个对象的地址值
this谁调用谁就是this
anObject传递过来的参数
比较地址值无意义
所以需要重写equals方法
比较对象的属性值
隐含多态(多态弊端:无法使用子类特有方法)
解决:向下转型
public boolean equals(Object anObject) {
类名称 变量=(类名称)anObject;
boolean a=this.属性1.equals(变量.属性1)&&this.属性2.equals(变量.属性2);
return a;
}
都可以直接使用快捷键添加
Object类总结
1.Object类的介绍
Object类是所有类的父类,一个类都会直接或者间接的继承该类
该类中提供了一些常用的方法
2,toString()方法
A:作用
打印对象的意思
B:重写前:打印的是包名@地址值
C:重写后:打印对象的属性值
3.equals()方法
A:作用:比较两个对象
B:重写前:比较对象的地址值
C:重写后:比较对象中的属性值
Objects(对象的工具类)
equals()方法
比较两个对象是否相同,但是加了一些健壮性的判断!!