标签:Java 克隆 对象 Object hashCode 学习 方法 public
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.对象的浅克隆不会调用到构造方法
-
标签:Java,克隆,对象,Object,hashCode,学习,方法,public 来源: https://www.cnblogs.com/N-jack/p/14765471.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。