1.为什么说Java中的所有类都is-a Object?
因为Object是超级父类,所有的类都直接或间接的继承自Object类。
2.在JDK文档中查找Object的toString方法。说一说,该方法有什么用?使用Eclipse查看Object的toString方法的代码,结合代码说说该代码的用途。
功能:返回当前对象的字符串表示,Object默认返回“类名+该对象的十六进制的哈希码”
3.在Eclipse中查看Object的equals方法的代码,说说equals的用途。该方法被什么修饰符修饰,意味着什么?什么时候需要覆盖equals方法?结合String类的equals方法说说覆盖如何体现子类特有的特性?
功能:判断两个对象是否相等,默认比较的是对象的地址值是否相同。
如果类具有自己特有的逻辑相等概念, 而超类的的equals并不是期望的实现的话, 就需要我们去覆盖equals了.
当子父类中出现一模一样的成员函数的情况,会运行子类的函数。
4.如果在子类中想要复用父类的代码,要怎么办?
方式一:与继承无关,名道姓法,直接用类名.函数名的方法,注意只能当普通函数用,需要把所有的值传入
方式二:严格来继承属性查找关系。super()会得到一个特殊的对象,该对象就是专门用来访问父类中的属性的(按照继承的关系 )
5.可选:继承是复用代码的唯一方式吗?
Java代码复用的三种常用方式:继承、组合和代理