Java零基础学习(Object类)
时间:2021-05-24 08:04:10
收藏:0
阅读:0
Java零基础学习(Object类)
-
API概述以及Object类的概述
1.API(Application Programming Interface) 应用程序编程接口 2.Java API 就是Java提供给我们使用的类,这些类将底层的实现封装了起来 我们不需要关心这些类是如何实现的,只需要学习如何使用过这些类 3.Object类概述 类层次结构的根类 所有类都直接或者间接的继承此类 4.构造方法 public Object() 子类的构造方法默认访问的是父类的无参构造方法
-
Object类的hashCode()方法
public int hashCode() 1.返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算 2.不同对象的hashCode()一般来说不会相同。 但是,同一对象的hashCode()值肯定相同。 3.不是对象的实际地址值,可以理解为逻辑地址值
-
Object类的getClass()方法
public final Class getClass() 1.返回此Object的运行时类。 2.可通过Class类中的一个方法,获取对象的真实类的全名称 public String getName() /*Object.java-----Object.class-----当Object.class加载进内存,他会把Object.class也看做对象,所以会创建字节码文件对象 ---- 我们可以通过 getClass()方法,来获取字节码文件对象 Class 这个就是描述 字节码文件类型的 。 */ 同一类的getClass()是相同的
-
Object类的toString()方法
public String toString() 1.返回该对象的字符串表示 public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 2.它的值等于: getClass().getName() + "@" + Integer.toHexString(hashCode()); 3.由于默认情况下的数据对我们来说没有意义,一般建议重写该方法。 一般情况是将该类所有的成员变量组成返回即可 4.直接输出对象的名称,就是调用toString()方法.
-
Object类的equals()放法
public boolean equals(Object obj){ return (this==obj); } 1.指示其他对象是否与此对象“相等”。 2.默认情况下比较的是对象的引用是否相同。 3.由于比较对象的引用没有意义,一般建议重写该方法。一般用于比较成员变量的值是否相等。 4.equals()和==的区别 ==比较基本数据类型是比较两个数据的值是否相等,比较引用数据类型是比较地址值是否相等,equals()方法如果没有被重写就是表两个对象是否是同一个对象,如果被重写就根据重写的内容执行
-
Object类的clone()方法
clone()方法的权限修饰符是受保护的,在用的时候,让该类重写该方法,并且把方法的权限修饰符改为public @Override public Object clone() throws CloneNotSupportedException { return super.clone(); } 使用clone()方法采用的是对象的浅克隆方式 对象浅克隆的注意事项: 1.如果一个对象要调用clone()的方法克隆,那么该对象所属的类必须要实现Cloneable接口 class Dog implements Cloneable{} 2.Cloneable接口只不过是一个表示接口而已,没有任何方法 3.对象的浅克隆:就是克隆一个对象的时候,如过被克隆的对象中维护了另一个类的对象,这时候只是克隆另一个对象的地址,而没有把另一个对象也克隆一份。 4.对象的浅克隆不会调用到构造方法
-
评论(0)