Object之超级奶爸一

来源:互联网 发布:sql count1什么意思 编辑:程序博客网 时间:2024/04/28 23:44

Object类

先开心一下哦,有个好心情……

开心一笑


刚刚看到楼下有对情侣在互送巧克力
·
·
·
·
·
·
·
·
·
·

我哐一桶水下去
听说下雨天和巧克力更配哦![微笑](非原创哦!勿喷)


好了,开始了……

自我介绍

  • 奴家不是祸水,所有人都要叫我老爸(Every class has Object as a superclass)
  • 可是我爹呢? (Object don’t have father)
  • 我住在java.lang这个家(java language)

我的特长

Object()

在源码中,未给出我(Object类)的构造函数定义,但实际上,是存在的。

toString()

该方法返回一个字符串,它的值等于(不信看源码):
getClass().getName() + ‘@’ + Integer.toHexString(hashCode())

eg:Object obj = new Object();//我能生孩子System.out.println(obj.toString());//打我,我就吐一个给你System.out.println(obj);//自动调用toString()//吐:java.lang.Object@56f0474c

再啰嗦下:

  • 传言sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法
  • 调用System.out.println()时,会自动调用对象的toString()方法
  • 一般子类一般重写toString()方法
  • 真啰嗦

equal(Object obj)

判断我们是否相等,调我啊

看看我肚子装的是啥(源码)

public boolean equals(Object obj) {    return (this == obj);}

继续啰嗦:啦啦啦
- 我(Object 类)的 equals 方法实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有重点内容值 true)。 (不是我想抄,人家啊译的很好)
- “==”判断两个引用是否指向同一个对象
- 举一反三:Object类中的equals()方法等价于==

eg:Object obj = new Object();//别光看Object obj2 = new Object();//动手写Object obj3 = obj;//知道吗?System.out.println(obj.equals(obj2));//falseSystem.out.println(obj.equals(obj3));//trueSystem.out.println(obj.equals(null));//false

hashCode()

返回该对象的哈希码值(整形数值)

public native int hashCode();//Object hashCode方法源码eg:Object obj = new Object();System.out.println(obj.hashCode());//886506736System.out.println(obj.hashCode());//886506736System.out.println(obj.hashCode());//886506736//.....eg:Object obj = new Object();Object obj2 = new Object();System.out.println(obj.hashCode());//593224478System.out.println(obj2.hashCode());//1704712372//哈希值不同:看上面的源码就知道了,超级奶爸hashCode是一个本地方法,返回的对象的地址值
  • 同一对象多次调用hashCode()方法时,其返回的哈希码是相同的
  • 两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果(API这么写的,我没骗你!)
  • 程序猿应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能(后续会有专门文章介绍哈希这个鬼东西)
  • hashCode()相同的两个对象,不一定相等,换言之,不相等的两个对象,hashCode()返回的哈希码可能相同

给自己打鸡血的话

  • 自信点,悲伤给谁看.
  • 用最好的状态去迎接每一天.
  • 行动,行动,行动,结果.

欢迎指正……

0 0
原创粉丝点击