欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中的Object类详细介绍

程序员文章站 2024-03-05 10:22:54
理论上object类是所有类的父类,即直接或间接的继承java.lang.object类。由于所有的类都继承在object类,因此省略了extends object关键字。...

理论上object类是所有类的父类,即直接或间接的继承java.lang.object类。由于所有的类都继承在object类,因此省略了extends object关键字。
该类中主要有以下方法: tostring(),getclass(),equals(),clone(),finalize(), 其中tostring(),getclass(),equals是其中最重要的方法。

注意:

object类中的getclass(),notify(),notifyall(),wait()等方法被定义为final类型,因此不能重写。

getclass()方法;
不可重写,要调用的话,一般和getname()联合使用,如getclass().getname(); 
tostring()方法;
可重写;如果在实际使用中为特定对象提供一个特定的输出模式,当这个类型转换为字符串或字符串连接时,建自动调用重写的tostring()方法。  

public objectinstance{ 
public string tostring(){ 
 return "在"+getclass().getname()+"重写tostring()方法" 
} 
public static void main(string arg[]){ 
  system.out.println(new objectinstance()); 
} 
} 

equals()方法;

class v { 
} 
public class overwriteequals{ 
  public static void main(string args[]){ 
    string s1="123"; 
    string s2="123"; 
    system.out.println(s1.equals(s2)); 
    v v1= new v(); 
    v v2= new v(); 
    system.out.println(v1.equals(v2)); 
  } 
} 

输出结果:

run: 
true 
false 
build successful (total time: 0 seconds) 

从本例可以看出,在自定义的类中使用equals()方法进行比较时,将返回false,因为equals方法的默认实现是"=="运算符,即比较两个对象的引用地址,而不是比较对象的内容。所以要想真正比较两个对象中的内容,需要在自定义类中重写equals()方法。