Java中的Object方法在面试中是一个非常高频的点,毕竟Object是所有类的“老祖宗”。Java中所有的类都有一个共同的祖先Object类,子类都会继承所有Object类中的public方法。
先看下Object的类结构(快捷键:alt+7):
1.getClass方法
final方法、获取对象的运行时class对象,class对象就是描述对象所属类的对象。这个方法通常是和Java反射机制搭配使用的。
2.hashCode方法
该方法主要用于获取对象的散列值。Object中该方法默认返回的是对象的堆内存地址。
3.equals方法
该方法用于比较两个对象,如果这两个对象引用指向的是同一个对象,那么返回true,否则返回false。一般equals和==是不一样的,但是在Object中两者是一样的。子类一般都要重写这个方法。
4.clone方法
该方法是保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。
默认的clone方法是浅拷贝。所谓浅拷贝,指的是对象内属性引用的对象只会拷贝引用地址,而不会将引用的对象重新分配内存。深拷贝则是会连引用的对象也重新创建。
5.toString方法
返回一个String对象,一般子类都有覆盖。默认返回格式如下:对象的class名称+@+hashCode的十六进制字符串。
6.notify方法
final方法,主要用于唤醒在该对象上等待的某个线程。
7.notifyAll方法
final方法,主要用于唤醒在该对象上等待的所有线程。
8.wait(longtimeout)方法
wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(longtimeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。
以上就是动力节点java培训机构的小编针对“基础入门Java中object类的方法”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习