Object类
-
Object类是所有类的父类
-
一个类没有extends标明继承关系,则默认继承Object类(包括数组)
-
Java中每个类都可以使用Object中定义的方法
-
Object类的常用方法
object类的方法
equals :
1.继承Object中的equals方法时,比较的是两个引用是否指向同一个对象
- 子类可以通过重写equals方法的形式,改变比较的内容
boolean flag = one.equal(two);
System.out.println("one 和 two 的引用比较:" + flag);
System.out.println("one 和 two 的引用比较:" + (one == two));
//输出结果为两个都是false;
public boolean equals(Animal obj){
//对于对象是否为空的判断很有必要
if(obj == null)
return false;
if(this.getName().equals(obj.getName()) && (this.getMoth() == obj.getMoth())
return true;
else
return false;
}
-
子类中重写equals方法
/**
* 对equals方法进行重写,判断两个对象内容是否相等
* 1.判断传入的Object对象是否为空,若空则返回false
* 2.定义一个Animal的临时变量temp,将Objec对象强转为Animal类型的对象
* 3.判断两个对象的两个成员的值是否相等
*/
public boolean equals(Object obj){ //将Object类 对象名,当作一种Object的参数
if(obj==null)
return false;
Animal temp=(Animal)obj;
if(this.getName().equals(temp.getName()) && (this.getMonth()==temp.getMonth()))
return true;
else
return false;
}
/*
* 对上面的方法进行重载
* 防止传入的参数不是Object类型的对象
* 此时传入的参数肯定是Object类型,因为Animal类是Object的子类。
*/
public boolean equals(Animal obj){ //同理这是一种Animal类型的参数
if(obj==null)
return false;
if(this.getName().equals(obj.getName()) && (this.getMonth()==obj.getMonth()))
return true;
else
return false;
}
toString
- 输出对象名时,默认调用类中的toString方法
- 继承Object中的toString方法时,输出对象的字符串表示形式:类型信息+@+地址信息
System.out.println(one.toString());
System.out.println(one);
System.out.println(str);
//输入String类型的是,是其内容输出
- 子类可以通过重写toString方法的形式,改变输出的内容以及表现形式
网友评论