• Java Object类


    Oblect类

    Object类:类层次结构的根类。每个类都使用 Object 作为超类,每个类都直接或者间接的继承自Object类。

    Object类的方法:
         (1)public int hashCode():返回对象的哈希码值。
                 注意:Object类的hashcode方法针对不同的对象返回不同的整数,一般是通过将该对象的内部地址转换成一个整数来实现的。
         (2)public final Class getClass():返回此 Object 的运行时类
                 Class类的方法public String getName():以 String 的形式返回此 Class 对象所表示的实体
         (3)public String toString():返回该对象的字符串表示。
                 如何重写呢?
                       把该类的所有成员变量值组成返回,一般采用自动生成toString()方法。
                 注意:直接输出一个对象的名称,其实就是调用该对象的toString()方法。
                 源码:

                       public String toString() {

                             return "Student [name=" + name + ", age=" + age + "]";

                       }

         (4)public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。
                 源码:

                        public boolean equals(Object obj) {

                              return (this == obj);

                        }
                 这个方法,默认情况下比较的是地址值。一般比较地址值意义不大,所以我们要重写该方法。
                 如何重写呢?
                      比较对象的成员变量值是否相同,一般采用自动生成equals()方法。
                 ==:
                      基本类型:比较的就是值是否相同
                      引用类型:比较的就是地址值是否相同
                 equals:
                 引用类型:默认情况下比较的是地址值。我们根据情况自己重写该方法。一般重写都是自动生成,比较对象的成员变量值是否相同。

         (5)protected Object clone():创建并返回此对象的一个副本。
                 注意:
                       第1点:如果想对某个对象实现clone操作,该对象的类就要实现Cloneable接口。
                       第2点:protected修饰,我们要在要clone对象所在的类中重写clone()方法
                       Cloneable:此类实现了Cloneable接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。
                                 注意:该接口没有方法,这个接口是标记接口,告诉我们实现该接口的类就可以实现对象的clone了。

  • 相关阅读:
    洛谷P1710 地铁涨价
    洛谷P1371 NOI元丹
    洛谷P2409 Y的积木
    洛谷P3392 涂国旗
    洛谷P3370 【模板】字符串哈希
    洛谷P3379 【模板】最近公共祖先(LCA)
    洛谷P3372 【模板】线段树 1
    洛谷P3373 【模板】线段树 2
    Android(java)学习笔记31:泛型高级之通配符
    Android(java)学习笔记30:泛型接口的概述和使用
  • 原文地址:https://www.cnblogs.com/zfsky/p/5962480.html
Copyright © 2020-2023  润新知