首页 > 开发 > Java > 正文

java中object类实例分析

2024-07-13 10:14:36
字体:
来源:转载
供稿:网友

问:什么是Object类?

答:Object类存储在java.lang包中,是所有java类(Object类除外)的终极父类。当然,数组也继承了Object类。然而,接口是不继承Object类的,Object类不作为接口的父类。

下面,我们就通过实例,对object进行分析

public class ObjectStu {	/*Object类:java里所有类的父类,顶层的类 *equals:判断两个对象是否"相等"; *hashcode:返回一个对象的哈希码值,是一个整数 *因为之后的容器,例如hashset和hashMap会对元素进行去重的处理;所以equals和hashcode需要同时重写; *重写之后需要满足的标准: *当equals的结果为true的时候,要求两个对象的hashcode值相等; *当equals的结果为false的时候,要求两个对象的hashcode值不等;(hashcode可以相等,但是如果不等可以提升效率) *toString:返回对象的字符串表示 *作用:方便程序内查看对象属性,方便调试代码 *debug学习: *1.在可能出现bug的地方设置断点 *2.run as debug *3.f6,执行当前代码;f5,进入当前本句代码的方法内部;f8,快速跳到下一个断点,如果没有下一个断点,运行余下所有代码 *equals: *1.一致性:使用对象A调用equals和对象b进行比较,每一次的结果都应该一样 *2.自反性:对象A调用equals比较对象b和对象b调用equals比较对象a的结果应该一样 */	public static void main(String[] args)	 {		Person per = new Person("小王",10,150);		Person per1 = new Person("小王",20,140);		Person per2 = per;		System.out.println(per==per1);		System.out.println(per.equals(per1));		String str = "123";		str.equals("123");		str.hashCode();		System.out.println(per.hashCode());		System.out.println(per1.hashCode());		System.out.println(per2.hashCode());		System.out.println(per);		System.out.println(per1);	}}class Person {	String name;	int age;	int height;	public Person(String name, int age,int height)	 {		super();		this.height = height;		this.name = name;		this.age = age;	}	/*@Override public boolean equals(Object obj) { if(this==obj){  return true; } if(obj instanceof Person){  Person per = (Person)obj;  if(this.name.equals(per.name)&&this.age==per.age){  return true;  } } return false; }*/	//重写hashcode	/*@Override public int hashCode(){ return name.hashCode()+age*31+height*31; }*/	@Override	 public int hashCode()	 {		final int prime = 31;		int result = 1;		result = prime * result + age;		result = prime * result + height;		result = prime * result + ((name == null) ? 0 : name.hashCode());		return result;	}	@Override	 public Boolean equals(Object obj)	 {		if (this == obj)		  return true;		if (obj == null)		  return false;		if (getClass() != obj.getClass())		  return false;		Person other = (Person) obj;		if (age != other.age)		  return false;		if (height != other.height)		  return false;		if (name == null)		 {			if (other.name != null)			  return false;		} else if (!name.equals(other.name))		  return false;		return true;	}	@Override	 public String toString()	 {		return "Person[name="+name+",age="+age+"]";	}}

总结

以上就是本文关于java中object类实例分析的全部内容,希望对大家有所帮助。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表