设为首页 加入收藏

TOP

Java中的Object类
2014-11-23 21:59:59 来源: 作者: 【 】 浏览:13
Tags:Java 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()方法。


--------------------------------------分割线 --------------------------------------


--------------------------------------分割线 --------------------------------------


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇用Ruby写第一个程序 下一篇《重构:改善既有的代码设计》读..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: