千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 什么是object类?object类使用方法演示

什么是object类?object类使用方法演示

来源:千锋教育
发布人:yyy
时间: 2023-06-29 11:37:00 1688009820

  在Java中,所有的类都是从Object类继承而来的,因此Object类是Java中所有类的父类。Object类提供了一些常用的方法,可以用来处理对象和对象数组。以下是Object类中常用的方法:

  equals(Object obj):比较两个对象是否相等。默认情况下,equals方法使用的是==操作符进行比较,因此对于引用类型的对象来说,比较的是两个对象的引用是否相等。如果需要比较对象的内容是否相等,需要重写equals方法。

  hashCode():获取对象的哈希码。哈希码是一个int类型的值,用来标识对象的唯一性。默认情况下,哈希码是根据对象的地址计算得到的,因此对于不同的对象,哈希码一定不同。如果需要在使用哈希表等数据结构时使用对象作为键值,需要重写hashCode和equals方法。

  toString():将对象转换成字符串表示。默认情况下,toString方法返回对象的类名和哈希码,例如java.lang.Object@1234567。如果需要将对象的属性以字符串形式输出,需要重写toString方法。

  以下是一个使用Object类中常用方法的示例:

public class MyClass {
private int id;
private String name;

public MyClass(int id, String name) {
this.id = id;
this.name = name;
}

// 重写equals方法,比较两个对象的id和name是否相等
@Override
public boolean equals(Object obj) {
if (obj instanceof MyClass) {
MyClass other = (MyClass) obj;
return this.id == other.id && this.name.equals(other.name);
}
return false;
}

// 重写hashCode方法,根据id和name计算哈希码
@Override
public int hashCode() {
int result = 17;
result = 31 * result + id;
result = 31 * result + name.hashCode();
return result;
}

// 重写toString方法,输出对象的id和name
@Override
public String toString() {
return "MyClass{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}

// 使用Object类中的方法
public class Main {
public static void main(String[] args) {
MyClass obj1 = new MyClass(1, "John");
MyClass obj2 = new MyClass(1, "John");

// 使用equals方法比较两个对象是否相等
boolean isEqual = obj1.equals(obj2);
System.out.println(isEqual); // true

// 使用hashCode方法获取对象的哈希码
int hashCode = obj1.hashCode();
System.out.println(hashCode); // 111598

// 使用toString方法将对象转换成字符串表示
String str = obj1.toString();
System.out.println(str); // MyClass{id=1, name='John'}
}
}

   在上面的示例中,MyClass类重写了equals、hashCode

tags: object类
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT