Java中父类Object的常用方法总结
2016-09-12 09:21
627 查看
简介
Object类: 这个类
java.lang.java是所有类默认继承的父类
Object类中常用的三个方法:
toString(),
equal(),
hashCode()
一、toString()方法 对象的自我描述,对象的自我介绍
在对象的自我描述过程中,由于使用
get()方法打印实例变量比较麻烦,为了简便,使用
toString().
Public String toString(){ Return “学好” + getNo() + “姓名” + getName(); }
System.out.println(s);就相当于
System.out.println(s.toString());
在打印:
a.基本数据类型时 直接打印 其数值
b.引用数据类型时 调用
toString()在打印
若没有重写Object类中的
toString()方法时,直接打印对象,在控制台得出的结果是:
包全名@对象的hashCode
二、equals()方法 重写equals()一定要重写hashCode(),
Equals()比较的是两个对象,或者两个对象的内容;
hashCode()是对象的内部地址,是一个整数。
==与equals()的区别?
答:==实质比较的是二进制,基本数据类型比较的是数值,引用数据类型比较的 是地址
Equals()分为Object类的
equals()和String类的
equals(),Object类的
equals()相当于==比较引用类型情况;String类的
equals()重写啦Object类中的
equals()方法,比较的是字面值。
Instanceof判断类名,或者可能使用反射
对象的引用变量名 instanceof 类名 这个表达式,如果对象的引用变量名是 后面类名的类或者基类对象其返回值任然是true.
自定义
equals()方法:
1.类型德相同
2.定义自己的比较规则
public boolean equals(Object object){ //重写Object的equals()方法 EqualsTest equalsTest = (EqualsTest) object; if(equalsTest.getClass() == EqualsTest.class){ //??????????? if((this.name==equalsTest.name)&&(this.price== qualsTest.price)){ return true; }else{ return false; } }else{ return false; } }
三、hashCode()方法 用于加速查找,实现索引查找 (查询算法,存储算法)
Public int hashCode(){ Return this.name.hashCode()*13 + new Interger(getAge).hashCode()*12; }
hashCode的两个原则:
1.两个对象
equals()方法比较返回值为true时,那么他们的
hashCode()方法也要保证返回值相同。
2.对象中用
equals()来比较使用的属性,都应该用来计算
hashCode()。
hashCode()哈希算法
需求:
1.
hashCode()返回值相同,
equals()返回值也一定要相同。
2.重写
hashCode()使用啦什么属性,在
equals()方法中也要使用什么属 性。
注:hashCode相同,equals不一定相同。
hashCode用于判断文件夹,equals用来判断文件。
如果不重写
hashCode()方法,默认的hashCode()方法是根据对象的地址求出来的(键值就是对象的地址)
如果重写啦
hashCode()方法就不能用来判断是不是同一个对象,
则可以使用
System.identityHashCode(对象的引用名) 若hashCode相同,则为同一个对象。
System.out.println(System.identityHashCode(对象的引用名));
如果没有
hashCode(),其对象的hashCode是通过对象地址算出来的。
System.out.println(对象引用名.hashCode());
注:HashSet集合中元素是否存在以及删除操作依赖的方法是元素的
hashCode()和
equals()
总结
以上就是为大家整理的Java中父类Object的三个常用方法,希望对大家能有所帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
相关文章推荐
- Java类的共同父类Object之常用方法总结
- Java常用方法总结(持续更新中)
- JAVA笔试题总结3:父类构造器调用被子类重写方法
- object常用方法,java常见包;常见异常
- java 防止 XSS 攻击的常用方法总结
- 12-6java面向对象之String类常用方法的总结
- 我的Java思想008:直接父类是Object时,此时构造方法就不需要调用父类的构造方法。
- java 防止 XSS 攻击的常用方法总结
- JAVA String类的常用方法总结
- Java中常用字符串方法总结
- Java基础之Object 常用方法
- java中 object转为 String几种常用方法
- 【转】java_中常用的方法总结
- Java:java.lang.Object常用方法
- java中遍历Map常用方法 及优缺点总结
- Java中常用字符串方法总结
- java 中常用的方法总结
- Object 开发中常用的重写方法总结toString,equals,hashCode,compareTo
- 关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:
- Java中数组常用方法的总结