Java----------Object类

3_Object类的hashCode()方法

  • public int hashCode()
  • a:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
  • b:不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。

4_Object类的getClass()方法

  • public final Class getClass()
  • a:返回此 Object 的运行时类。
  • b:可以通过Class类中的一个方法,获取对象的真实类的全名称。
  • public String getName()
Student s = new Student("张三", 23);
// Class clazz = new Class();

Class clazz = s.getClass();//获得该对象的字节码文件,.class
String name = clazz.getName(); //获得该对象的的名称,完全限定名
System.out.println(name);

5_Object类的toString()方法

  • public String toString()
  • a:返回该对象的字符串表示。
  • b:它的值等于:
    • getClass().getName() + “@” + Integer.toHexString(hashCode())
  • c:由于默认情况下的数据对我们来说没有意义,一般建议重写该方法。
/**
 * @param args
 * com.heima.bean.Student@bcda2d
 * public Stirng toString() {
	return  getClass().getName() + "@"+Integer.toHexString(hashCode())
	}
	左边 :类名
	中间:@
	右边:hashCode的十六进制表现形式
	toString方法的作用:可以更方便的显示属性值。
	getXxx方法是为了获取值,可以显示也可以赋值,或者其他操作。
 */
public static void main(String[] args) {

	Student s = new Student("张三", 23);
	String str = s.toString();
	System.out.println(str); //com.heima.bean.Student@bcda2d

	System.out.println(s.toString());
	System.out.println(s);
	// 如果直接打印对象的引用,默认打印对象的toString()方法,
	System.out.println("我的姓名是:" + s.getName() + ",我的年龄是:"+ s.getAge());
}

6_Object类的equals()方法

Object的equals方法
比较两个对象是否相等

public boolean equals(Object obj){
	  return (this == obj);
}
  • a:指示其他某个对象是否与此对象“相等”。
  • b:默认情况下比较的是对象的引用是否相同。
  • c: Object中的equals方法是比较对象的地址值,没有什么意义,我们 需要重写它。 因为在开发中我们通常比较的是对象中的属性值,我们认为 相同属性是同一个对象,这样我们就需要重写equals方法。

重写equals()方法

//多态
@Override
//重写equals方法
public boolean equals(Object obj) {
	//传入的对象发生了向上转型,要想使用子类的方法需要向下转型
	Student  s = (Student)obj;
	return this.name.equals(s.name) &&this.age == s.age;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值