getClass()方法
语法:
public final Class<?> getClass(){
}
作用:
返回Class<?>,当前类的类型 ,即返回引用中存储的实际对象类型。
应用:
通常用于判断 两个引用中实际存储对象类型是否一致。
hashCode()方法
语法:
public int hashCode(){
}
作用:
返回该对象的哈希码值,一般情况下相同对象返回相同哈希码值。
哈希码值:
根据对象的地址或字符串或数字使用hash算法计算出来的int类型的数值。
toString()方法
语法:
public String toString(){
}
作用:
返回该对象的字符串表示(表现形式)。
应用:
可以根据程序需要覆盖该方法,如,展示对象各个属性值
equals()方法
语法:
public boolean equals(Object obj){
}
作用:
默认实现为(this == obj),比较两个对象地址是否相同。
应用:
可进行覆盖,比较两个对象的内容是否相同。
equals()方法覆盖的步骤
- 比较两个引用是否指向同一对象。
- 判断obj是否为null。
- 判断两个引用指向的实际对象类型是否一致。
- 强制类型转换。
- 依次比较各个属性值是否相同。
下面为代码实例(只是为了演示,代码并不完整,类为Student)
public Boolean equals(Object obje){
//比较两个引用是否指向同一对象。
if(this==obj){
return ture;
}
//判断obj是否为null。
if(obj ==null){
return false;
}
//判断两个引用指向的实际对象类型是否一致。
if(this.getClass()==obj.getClass()){ //此处代码替换为if(obj instanceof Student){
//强制类型转换。
Student s = (Student)obj;
//依次比较各个属性值是否相同。
if(this.name.equals(s.getName())&&this.age == s.getAge()){
return ture;
}
}
return false;
}
finalize()方法
当对象被判定为垃圾对象时,由JVM自动调用此方法,用以标记垃圾对进入回收队列。
·垃圾对象:没有有效引用指向此对象时,为垃圾对象。
·垃圾回收: 由GC销毁垃圾对象,释放数据存储空间。
·自动回收机制:JVM的内存耗尽,一次性回收所有垃圾对象。
·手动回收机制:使用System.gc);通知JVM执行垃圾回收。