黑马程序员技术交流社区

标题: 我所知道的Object类 [打印本页]

作者: 不爱念经的小僧    时间: 2015-9-19 11:01
标题: 我所知道的Object类
Object:所有类的直接或者间接父类,Java认为所有的对象都具备一些基本的共性内容,这些内容可以不断的向上抽取,最终就抽取到了一个最顶层的类中的,该类中定义的就是所有对象都具备的功能。

具体方法:
1,boolean equals(Object obj):用于比较两个对象是否相等,其实内部比较的就是两个对象地址。
而根据对象的属性不同,判断对象是否相同的具体内容也不一样。所以在定义类时,一般都会复写equals方法,建立本类特有的判断对象是否相同的依据。
        public boolean equals(Object obj){
                if(!(obj instanceof Person))
                        return false;
                Person p = (Person)obj;
                return this.age == p.age;
        }
2,String toString():将对象变成字符串;默认返回的格式:类名@哈希值 = getClass().getName() + '@' + Integer.toHexString(hashCode())
        为了对象对应的字符串内容有意义,可以通过复写,建立该类对象自己特有的字符串表现形式。
        public String toString(){
                return "person : "+age;
        }
3,Class getClass():获取任意对象运行时的所属字节码文件对象。
4,int hashCode():返回该对象的哈希码值。支持此方法是为了提高哈希表的性能。

通常equals,toString,hashCode,在应用中都会被复写,建立具体对象的特有的内容。

作者: 不爱念经的小僧    时间: 2015-9-19 11:05
听毕老师讲课,有种一语惊醒梦中人的感觉,上面就是毕老师有关Object类的详解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2