Java Object 类

Java Object类是所有类的父类,包含如equals()、hashCode()、toString()和clone()等核心方法。clone()方法用于创建对象的浅拷贝,但默认情况下需要实现Cloneable接口以避免CloneNotSupportedException。示例展示了如何使用clone()创建对象副本。
摘要由CSDN通过智能技术生成


Java Object 类

Java Object类是所有类的父类,也就是说Java所有类都继承了Object,子类均可以调用Object的所有方法

在这里插入图片描述
Object类位于java.lang包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承Object,称为Object的子类。
Object类可以显示继承,也可以隐式继承。

Object类的方法

类的构造函数

Object()
序号方法 & 描述
1protected Object clone()

创建并返回一个对象的拷贝

2boolean equals(Object obj)

比较两个对象是否相等

3protected void finalize()

当 GC (垃圾回收器)确定不存在对该对象的有更多引用时,由对象的垃圾回收器调用此方法。

4Class<?> getClass()

获取对象的运行时对象的类

5int hashCode()

获取对象的 hash 值

6void notify()

唤醒在该对象上等待的某个线程

7void notifyAll()

唤醒在该对象上等待的所有线程

8String toString()

返回对象的字符串表示形式

9void wait()

让当前线程进入等待状态。直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。

10void wait(long timeout)

让当前线程处于等待(阻塞)状态,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过参数设置的timeout超时时间。

11void wait(long timeout, int nanos)

与 wait(long timeout) 方法类似,多了一个 nanos 参数,这个参数表示额外时间(以纳秒为单位,范围是 0-999999)。 所以超时的时间还需要加上 nanos 纳秒。。

Java Object clone() 方法

Object clone() 方法用于创建并返回一个对象的拷贝。

由于Object本身没有实现Cloneable接口,所以不重写clone方法并且进行调用的话会发生CloneNotSupportedException异常。


public class JavaDemo implements Cloneable {
    String name;
    int likes;

    public static void main(String[] args) {
        JavaDemo j1 = new JavaDemo();
        j1.name = "Runoob";
        j1.likes = 111;

        System.out.println(j1.name);
        System.out.println(j1.likes);

        try {
            JavaDemo j2 = (JavaDemo) j1.clone();
            System.out.println(j2.name);
            System.out.println(j2.likes);
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值