1.为什么说Java中的所有类都is-a Object?
Java中的每个类都默认继承自Object类,Object类是Java中的根类,因此,所有的Java类都继承了这些通用方法,并且可以使用它们,这种继承关系使得所有的Java类都可以被当作Object类来使用。
2.在JDK文档中查找Object的toString方法。说一说,该方法有什么用?使用Eclipse查看Object的toString方法的代码,结合代码说说该代码的用途。
(1)它返回的字符串通常包含了对象的类名和哈希码,这对于调试和日志记录非常有用。
(2)这样可以方便地查看对象的内容,而不仅仅是类名和哈希码。重写toString方法可以提高代码的可读性和调试的便利性。
3.在Eclipse中查看Object的equals方法的代码,说说equals的用途。该方法被什么修饰符修饰,意味着什么?什么时候需要覆盖equals方法?结合String类的equals方法说说覆盖如何体现子类特有的特性?
(1)equals方法的用途是用于比较两个对象是否相等。
(2)equals方法被修饰为public,这意味着该方法可以被任何类的对象调用。
(3)需要覆盖equals方法的情况包括当我们希望比较两个对象的内容而不是引用时。
(4)String类的equals方法是一个很好的例子。String类覆盖了Object的equals方法,以便比较字符串的内容是否相等。String类的equals方法会比较两个字符串的字符序列是否相同,而不仅仅是比较引用。这是因为字符串是常用的数据类型,通常我们更关心字符串的内容是否相等。
4.如果在子类中想要复用父类的代码,要怎么办?
要在子类中复用父类的代码,可以使用继承和方法重写,在Java中,可以使用关键字
extends
来实现继承。子类通过继承父类来获取父类的属性和方法。子类可以直接访问并使用父类的非私有成员,而无需重新定义。
5.可选:继承是复用代码的唯一方式吗?
除了继承,还有其他几种常见的复用代码的方式,例如:组合、接口、委托、静态方法和静态属性、复制和粘贴等等