Object类
常用类:Object类
1、常见对象(API)概述
- API(Application Programing Interface):应用程序编程接口
- Java API:
- 就是Java提供给我们使用的类,这些类将底层的实现封装了起来
- 我们不需要关心这些类是如何实现的,只需要学习这些类如何使用
2、Object类的概述
java.lang.Object
public class Object
类Object是类层次结构的根类,每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法。
构造方法:
Object()
3、Object类的hasCode()方法
返回类型 | 方法的返回值 |
---|---|
int | hashCode() 返回对象的哈希码值。 |
Object类中的方法:public native int hashCode();
native是本地的意思,借助本地系统资源去算hashCode的值
4、Object类的getClass()方法
返回类型 | 方法的返回值 |
---|---|
Class<?> | getClass() 返回此 Object 的运行时类。 |
Student s=new Student();
Class clazz=s.getClass(); //获取该对象的字节码文件
String name=clazz.getName();//获取名称,实际上就是类名
System.out.println(name);
5、Object类的toString()方法
该方法返回一个字符串:
Student s=new Student();
Class clazz=s.getClass(); //获取该对象的字节码文件
String name=clazz.getName();//获取名称
//结果:com.object.Student
System.out.println(name);
String str=s.toString();
//结果:com.object.Student@29453f44
System.out.println(str);
System.out.println(s);//打印对象引用会默认打印toString方法。
6、Object类的equals()方法
作用:比较两个对象是否相等,比较的是地址值
public boolean equals(Object obj){
return (this==obj);
}
Object中的equals方法是比较对象值的,没有什么意义,我们需要重写他,因为在开发中我们通常比较的是对象中的属性值,我们认为相同属性是同一个对象。
String类中的equlas方法是重写的。
- ==和equals方法的区别:
- 共同点:都可以做比较,返回值都是boolean
- 区别:
- 1、==号是做比较运算符,既可以比较基本数据类型,也可以比较引用类型,基本数据类型比较的是值,引用数据类型比较的是地址值
- 2、equals方法只能比较的是引用数据类型,equals方法在没重写之前,比较的是地址值,底层依赖==号,但是比较地址值是没有意义的,我们需要重写equals方法