119 01 Android 零基础入门 02 Java面向对象 05 Java继承(下)02 Object类 01 Object类介绍(上)

119 01 Android 零基础入门 02 Java面向对象 05 Java继承(下)02 Object类 01 Object类介绍(上)

**本文知识点:Object类介绍(上) **

说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步

当我们学习Java中的继承关系的时候,就一定要来认识一下所有类的祖先——Object类

Java中,Object类是所有类的父类

mark

当子类继承自父类之后,就可以被允许使用父类派生的所有成员和方法
mark

Object类的成员

mark

Object类中的equals()方法

作用:
用来判断调用equals方法的引用和传进来的参数equals(Object obj) obj的引用是否一致,也即这2个引用是否指向同一块内存地址?

我们在一个类中,如果没有去重写equals方法,那么equals的作用就和“==”的作用一致。
mark

因此,equals方法是我们在类中经常进行重写的一个方法。

String中重写了Object类中的equals()方法

比如:
比较经典的被重写的equals方法,就是String类中重写的equals方法

mark

mark

String中重写后的equals()方法就不是用来判断两个字符串对象String字符串类型是类类型,是引用类型,所以说是字符串对象)的引用是否一致了,而判断的是两个字符串的值是否相同。

mark
mark

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个引用是否指向同一个对象          
     }
}
posted @ 2020-10-09 20:51  皿哥的技术人生  阅读(120)  评论(0)    收藏  举报