常用API:Object
2023-12-26 17:58:26
Object
Object类的作用:
- Object类是Java中所有类的祖宗类,因此,Java中所有的对象都可以直接使用Object类中提供的一些方法。
Object类的常见方法
方法名 | 说明 |
---|---|
public String toString() | 返回对象的字符串表示形式 |
public boolean equals(Object o) | 判断两个对象是否相等 |
protected Object clone() | 对象克隆 |
toString存在的意义:toString()方法存在的意义就是为了被子类重写,一般返回对象具体的内容。
equals存在的意义:直接比较两个对象的地址是否完全相同,完全可以用 “ == ” 替代equals,equals存在的意义就是为了被子类重写,一般子类自己来定制比较规则(不然比较对象内容)。
Student类
import java.util.Objects;
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public boolean equals(Object o) {
// 判断两个对象地址是否一样返回true
if (this == o) return true;
// 判断 o 是null直接返回false,或者比较者的类型与被比较者的类型不一样,返回false
if (o == null || getClass() != o.getClass()) return false;
// o不是null,且o一定是学生类型的对象,就开始比较内容了
Student student = (Student) o;
return age == student.age &&
Objects.equals(name, student.name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Test类
public class Test {
public static void main(String[] args) {
Student s1 = new Student("张三",18);
System.out.println(s1);
Student s2 = new Student("张三",18);
System.out.println(s2.equals(s1));
}
}
Object类提供的对象克隆方法
当某个对象调用这个方法时,这个方法会复制一个一模一样的新对象返回。
?浅克隆
拷贝出的新对象,与原对象中的数据一模一样(引用类型拷贝的只是地址)
?
深克隆?
对象中基本类型的数据直接拷贝。
对象中的字符串数据拷贝的还是地址。
对象中还包含的其他对象,不会拷贝地址,会创建新对象。
??
文章来源:https://blog.csdn.net/SU_mu147/article/details/135222631
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!