119 01 Android 零基础入门 02 Java面向对象 05 Java继承(下)02 Object类 01 Object类介绍(上)
**本文知识点:Object类介绍(上) **
说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步。
当我们学习Java中的继承关系的时候,就一定要来认识一下所有类的祖先——Object类
Java中,Object类是所有类的父类
当子类继承自父类之后,就可以被允许使用父类派生的所有成员和方法
Object类的成员
Object类中的equals()方法
作用:
用来判断调用equals方法的引用和传进来的参数equals(Object obj) obj的引用是否一致,也即这2个引用是否指向同一块内存地址?
我们在一个类中,如果没有去重写equals方法,那么equals的作用就和“==”的作用一致。
因此,equals方法是我们在类中经常进行重写的一个方法。
String中重写了Object类中的equals()方法
比如:
比较经典的被重写的equals方法,就是String类中重写的equals方法
String中重写后的equals()方法就不是用来判断两个字符串对象 (String字符串类型是类类型,是引用类型,所以说是字符串对象)的引用是否一致了,而判断的是两个字符串的值是否相同。
public class TestThree {
public static void main(String[] args) {
Animal one = new Animal("花花",2);
Animal two = new Animal("花花",2);
// equals()方法:当继承的是Object类中的equals方法时,比较的是两个引用是否指向一个对象,比较的是对象的引用(即对象在内存中的地址)是否一致
boolean flag = one.equals(two);
System.out.println("one 和 two 的引用比较:" +
flag);
System.out.println("one 和 two 的引用比较:" +
(one == two));
System.out.println("===========================================");
String str1 = new String("hello");
String str2 = new String("hello");
flag = str1.equals(str2);
System.out.println();
System.out.println("str1 和 str2 的引用比较:"
+ flag);//String类中的equals方法重写了,只比较字符串的内容
System.out.println("str1 和 str2 的引用比较:"
+ (str1 == str2));//比较2个引用是否指向同一个对象
}
}