课前问题
1.为什么说Java中的所有类都is-a Object?
在Java中的所有类都是从Object这个类继承出来的,Object类是所有类的源头,是所有类的父类。
2.在JDK文档中查找Object的toString方法。说一说,该方法有什么用?使用Eclipse查看Object的toString方法的代码,结合代码说说该代码的用途。
(1)Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。
(2)该代码的用途:返回该对象的字符串形式。
3.在Eclipse中查看Object的equals方法的代码,说说equals的用途。该方法被什么修饰符修饰,意味着什么?什么时候需要覆盖equals方法?结合String类的equals方法说说覆盖如何体现子类特有的特性?
(1)equals的用途:比较两个对象是否相等;
(2)该方法用修饰符public修饰,意味着可以被Object类的对象调用;
(3)当类具有自己特有的“逻辑相等”概念,且还未覆盖equals来实现期望的行为,就需要覆盖equals方法。
4.如果在子类中想要复用父类的代码,要怎么办?
可使用super() 方法。
5.继承是复用代码的唯一方式吗?
继承不是复用代码的唯一方式。我们还可运用组合、代理和final关键字等方式来复用代码。