点击上方关注“追梦 Java”↑,一起追梦!
请你说一下 Object 类中有哪些方法?
Object 类中主要方法有:对象克隆方法 clone()、对象输出方法 toString()、对象比较方法 equals()、获取 hash 码方法 hashCode()、获取 class 类对象方法 getClass()、线程等待方法 wait()、线程唤醒方法notify()、唤醒全部等待线程方法notifyAll()、垃圾回收前释放finalize()等。
![](https://i-blog.csdnimg.cn/blog_migrate/f1acb09f676112fd1ffc152d2b91cee0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8a4b6d38c79f8557deb7a1c7f044b549.png)
请你说一下对象克隆方法 clone() 为什么返回 Object 类型,以及你了解的 clone() 方法的使用。
克隆方法可能针对所有类的对象使用,因此用所有类的父类 Object 类来实现返回类型的统一。
克隆对象所在的类一定要实现 java.lang.Cloneable 接口,实现了 Cloneable 接口 的类只需要调用 Object 类的 clone() 方法就能实现克隆操作。
![](https://i-blog.csdnimg.cn/blog_migrate/f1acb09f676112fd1ffc152d2b91cee0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8a4b6d38c79f8557deb7a1c7f044b549.png)
请你说一下为什么直接输出一个对象时,系统会默认调用 toString() 方法?
当我们用打印流 PrintStream 输出对象的时候,默认调用 String.valueOf(obj)方法;String 类的 valueOf(obj) 方法会默认判断如果对象不为空,就调用对象的 toString() 方法。
![](https://i-blog.csdnimg.cn/blog_migrate/f1acb09f676112fd1ffc152d2b91cee0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8a4b6d38c79f8557deb7a1c7f044b549.png)
请你说一下对象比较方法 equals(Object obj) 和获取hash 码方法 hashCode() 在什么时候会调用。
equals(Object obj) 方法除了代码显示调用外,当我们在保存 Set 集合时,为了判断是否为重复对象,系统会默认会调用 hashCode() 和 equals(Object obj) 方法;另外 hashCode() 方法返回一个 int 类型的唯一编码,比较是先判断 hash 编码是否相同,然后再调用 equals(Object obj) 方法比较内容。
![](https://i-blog.csdnimg.cn/blog_migrate/f1acb09f676112fd1ffc152d2b91cee0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8a4b6d38c79f8557deb7a1c7f044b549.png)
请你说一下对线程等待和线程唤醒的理解。
当执行了线程等待方法 wait() 后,一直到执行唤醒线程notify() 方法或者唤醒全部线程 notifyAll() 方法后才能唤醒线程,等待 CPU 的调度后开始执行。
![](https://i-blog.csdnimg.cn/blog_migrate/f1acb09f676112fd1ffc152d2b91cee0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8a4b6d38c79f8557deb7a1c7f044b549.png)
请你说一下获取 Class 类的实例化对象有几种方式?
1、通过类本身的 class 属性实例化【类.class】;
2、通过 Object 类的 getClass()方法实例化【对象.getClass()】;
3、通过【Class.forName()方法】实例化,这种方式最常用,体现出了反射的动态性;
4、通过类的加载器获取;
请你说一下获取 Class 类的实例化对象有几种方式?
![](https://i-blog.csdnimg.cn/blog_migrate/f1acb09f676112fd1ffc152d2b91cee0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8a4b6d38c79f8557deb7a1c7f044b549.png)
知识指导行动,行动决定命运。
长按二维码关注追梦Java
![](https://i-blog.csdnimg.cn/blog_migrate/697765833cbeeb3dd2ad3149babb73a2.png)
有用的话点个在看