1、为什么说Java中的所有类都is-a Object?
(1)可以使不同对象之间可以统一、互转。我觉得其中还包括 toString(),wait()…等公共方法的
统一定义
(2)对父类的逻辑处理统一,不需要根据有没有父类分两种实现
2、在JDK文档中查找Object的toString方法。说一说,该方法有什么用?使用Eclipse查看Object的toString方法的代码,结合代码说说该代码的用途。
-
返回该对象的字符串表示,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
3、在Eclipse中查看Object的equals方法的代码,说说equals的用途。该方法被什么修饰符修饰,意味着什么?什么时候需要覆盖equals方法?结合String类的equals方法说说覆盖如何体现子类特有的特性?
- Object equals() 方法用于比较两个对象是否相等,是判断两个对象引用指向的是同一个对象
- public修饰,可被Object类的对象调用
- 如果类具有自己特有的“逻辑相等”概念,而且还没有覆盖equals以实现期望的行为,这时候我们就需要覆盖equals方法。
- String类的equals体现了其特有的逻辑内容——字符串
4、如果在子类中想要复用父类的代码,要怎么办?
- 组合:在一个类中创建另一个类的实例从而达到代码复用的效果
- 继承:在定义一个类的时候使用extends 关键字来继承另一类从而达到代码复用的效果