广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 计算机学校 > 湛江计算机学校 > 正文

Object是java一个父类,Object中有哪些常用的方法?_湛江软件教程

作者:admin发布时间:2020-11-26分类:湛江计算机学校浏览:841


导读:  我们都知道Object是java一个父类,在Object父类的我们知道有哪些方法呢?下面介绍比较常用的4类方法:1.publicStringtoSt...

    我们都知道Object是java一个父类,在Object父类的我们知道有哪些方法呢?下面介绍比较常用的4类方法:

1.public String toString()

return getClass().getName() + "@" + Integer.toHexString(hashCode()); 

    } 

    返回该对象的字符串表示。一般来说,toString 字符串是以文本方式显示。最后的肯定是一个一个通俗易懂的结果。建议所有子类都重写此方法。 

    假如说没有显示的这个方法的话,最后显示的是classname@hashcode的形式。

2. protected native Object clone() throws CloneNotSupportedException; 

    clone方法在doc最重要的一点就是; 

    首先,如果此对象的类不能实现接口 Cloneable,则会抛出 CloneNotSupportedException。注意,所有的数组都被视为实现接口 Cloneable。否则,此方法会创建此对象的类的一个新实例,并像通过分配那样,严格使用此对象相应字段的内容初始化该对象的所有字段;这些字段的内容没有被自我复制。所以,此方法执行的是该对象的“浅表复制”,而不“深层复制”操作。 

    这句话明确的告诉了我们什么叫做浅表复制,和深层复制。对于一些问题的理解很有帮助。 

    这里插入一个创建模式:原型模式 

    用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 

    就是使用clone()方法完成的。 

 

3.public boolean equals(Object obj) 

    根据上面的一句话我们可以知道这个equals比较的就是hashcode。 

    但是String中比较的却是字符串的内容,这是因为String覆写了equals方法。所以String和StringBuffer的equals是不同的。 

 

4. public native int hashCode(); 

    这个方法是一个native方法,C/C++也可以完成通用的工作,返回一个int类型的哈希码,这个hashcode用来干什么呢?用来标注这个对象的唯一性。 

    这里doc上有两句话这么描述: 

    如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。 

    如果根据 equals(java.lang.Object) 方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法不 要求一定生成不同的整数结果。 

    有兴趣的同学可以研究一下hash的问题,如果是计算机专业的应该还记得hash是怎么回事!

 

如需更多信息可以浏览广州北大青鸟华工校区官方网站,提供JAVA软件工程师培训!

 


湛江计算机学校排行
标签列表
网站分类
文章归档
最近发表