标签:finalize hashcode 系统资源 接口 nali 区别 自动生成 int 如何
java API
1.Object类
(1).概述
Object类是类层次结构的根类,每一个类都使用Object类作为超类,所有的对象(包括数组)都实现这一个类的方法。
(2).构造方法
由于Object类作为一个超类,只有一个无参构造,所以子类的构造方法默认访问的都是父类(也就是Object)类的无参构造。
(3).hashCode()方法
方法:
public int hashCode();返回该对象的哈希码值。(一般就是通过将该对象的内部地址值转化为一个整数来实现,不是地址值)
(4).getClass()方法
方法:
public final class getClass():返回该Object的运行类class的方法
public String getName();以String的形式返回此Class对象所表示的实体。
(5).toString()方法[常用]
方法:
public String toString:返回该对象的一个字符串表示。建议所有子类都重写该方法,可按照自己需求定义显示内容。
如何重写?
一般就是把该类的所有的成员变量拼接成为一个字符串输出即可。(可以使用开发工具自动生成)
(6).equals()方法
方法:
public boolean equals(Object obj);用于指示某一个对象是否和该对象相等,默认比较的是地址值。但是这是没有意义的,一般重写。
一般重写该方法的时候有必要重写hashCode()方法,以便于维持hashCode的常规规定。
如何重写?
一般是自动生成,自动生成以后用于比较俩个对象存储的值是否相等。
与"=="的区别
"==":
基本类型,比较的是值是否相同
引用类型,比较的是存储地址值是否相同
(7).finalize()方法和clone()方法
方法:
protect void finalize(); 当垃圾回收器确定对象不存在更多的引用的时候,由对象的垃圾回收器调用该方法。子类重写该方法,已配置
系统资源或清除其他资源。
protect Object clone();创建并返回此对象的一个副本。也就是copy一份出来。子类需要重写该方法。(自动生成)
子类对象如需使用该方法,则需要继承Cloneable接口,以标记该对象能够被合法的克隆一份。
//克隆其实是按照特定的时候拷贝了一份以后,这一个时候克隆的这一个就只存储克隆的这一个时候存储的内容,后面的修改不会改变其内容
值(属于浅克隆)
标签:finalize hashcode 系统资源 接口 nali 区别 自动生成 int 如何
原文地址:https://www.cnblogs.com/nwxayyf/p/10164465.html