zoukankan      html  css  js  c++  java
  • 根父类:java.lang.Object

    1、根父类

    (1)Object类型是所有引用数据类型的超类,包括数组类型

    如果一个类没有显式的声明它的父类,那么它的父类就是Object。

    (2)Object类中的方法,会继承到所有类型的对象中,包括数组对象。

    即所有对象都可以调用Object类中声明的方法

    (3)Object类型变量或数组可以接收和存储所有类型的对象。

     

    2、它的常用方法们

    (1)public String toString():返回对象的详细信息,建议子类重写。

    如果不重写,返回的是“类型名@hashCode值"。

    当我们一个对象被打印或与字符串拼接时,就自动会调用这个对象的toString()

     

    (2)public Class getClasse():获取这个对象的“运行时”类型

     

    (3)public void finalize():当对象被GC回收之前,由垃圾回收器调用。一般资源对象才会重写这个方法,用于彻底释放资源。可能在finalize方法使得对象“复活”,但是复活后的对象,下次就不会再调用finalize方法。

     

    (4)public int hashCode():返回对象的hash码。

    理想状态下:不同的对象的hash码的唯一。

    现实状态下:不同的对象可能拥有相同的hashCode值。例如:"Aa" 和 "BB"

     

    如果重写hashCode方法,那么要遵循几个原则:

    A:如果参与hashCode值计算的属性值没有变,那么这个对象的hashCode值就不变。

    B:相同对象(即调用equals返回true的两个对象)的hashCode值一定是一样

    C:不同对象(即调用equals返回false的两个对象)的hashCode值可以相同也可以不同

     

    (5)public boolean equlas(Object obj):用于判断两个对象是否相等

    如果子类没有重写equals方法,那么和==是一样,比较的是对象的内存地址。

    我们可以选择重写,重写要遵循几个原则:

    A:一定和hashCode()一起重写,并且选择的属性一定是一样的

    B:遵循几个特性:

    自反性、传递性、对称性、一致性、非空对象与空对象比较一定是false

  • 相关阅读:
    Java在Web开发语言上败给了PHP(转)
    很开心收到了Andreas Loew发给我的注册key
    Cocos2d-x开发移植到安卓平台横竖屏设置及相关
    学习实战二:利用Cocos2d-x写的第一个游戏
    Cocos2d-x项目移植到安卓平台易出现的错误
    cocos2d-x帧动画实现(写下备忘)
    cocos2d-x学习遇到的问题
    C++指针的管理
    Win7开自带的虚拟WIFI
    【SICP练习】21 练习1.27
  • 原文地址:https://www.cnblogs.com/panyizuoshan/p/11454698.html
Copyright © 2011-2022 走看看