Java常用API——Object类

本文详细介绍了Java中Object类的重要地位,作为所有类的父类,它包含hashCode()、getClass()和toString()等核心方法。hashCode()返回对象的逻辑地址值,getClass()获取运行时类,toString()则返回对象的字符串表示。同时,文章提到了如何重写hashCode()方法以及Class对象与字节码文件的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Object 类

一、API文档中的Object类
在这里插入图片描述

  • Object类是类层次结构的根类
  • 所有类都直接或间接的继承自Object类

二、Object类中的方法

  • public int hashCode():返回该对象的哈希码值(对象的逻辑地址值)
  • public final Class<?> getClass():返回此 Object 的运行时类
  • public String toString():返回该对象的字符串表示

三、hashCode方法

  • public int hashCode():返回该对象的哈希码值(对象的逻辑地址值)
//Student.java
public class Student extends Object {}
//StudentTest.java
public class StudentTest {
	public static void main(String[] args) {
		Student s1 = new Student();
		Student s2 = new Student();
		
		System.out.println(s1.hashCode());
		System.out.println(s2.hashCode());
	}
}
***执行结果:***
664740647
804564176
  • 默认情况下每个对象在内存中的位置是不一样的,所以hashCode值也不一样
  • 让每个对象的hashCode值都一样的方法:重写父类的hashCode方法
//Student.java
public class Student extends Object {
	@Override
	public int hashCode() {
		return 10;
	}
}
//StudentTest.java
public class StudentTest {
	public static void main(String[] args) {
		Student s1 = new Student();
		Student s2 = new Student();
		
		System.out.println(s1.hashCode());
		System.out.println(s2.hashCode());
	}
}
***执行结果:***
10
10

四、getClass方法

  • public final Class<?> getClass():返回此 Object 的运行时类
  • Class是一种类型,而class是定义类的关键字
  • Class类型对应的对象是字节码文件(.class文件)对象
  • 在程序运行过程中,同一类创建的对象所使用的是同一份字节码文件
public class StudentTest2 {
	public static void main(String[] args) {
		Student s1 = new Student();
		Student s2 = new Student();
		
		Class clazz1 = s1.getClass();
		Class clazz2 = s2.getClass();
		
		//在一个程序运行过程中,同一类创建的对象所使用的是同一份字节码文件
		boolean boo = clazz1==clazz2;
		System.out.println(boo);
		
		//getName()返回的是类的全路径名称
		String name = clazz1.getName();
		System.out.println(name);
		
		//链式编程,两行代码合二为一
		String name2 = s2.getClass().getName();
		System.out.println(name2);
	}
}
***执行结果:***
true
com.api.object.demo.Student
com.api.object.demo.Student

五、toString方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值