1, 为什么说Java中的所有类都is-a Object?
Object类是所有类的始祖,Java中的每一个类都扩展了Object.
2, 一 ,在JDK文档中查找Object的toString方法。说一说,该方法有什么用?
-->toString()-->返回对象的字符串表示形式
-->toString()方法作用
1.把数据转换成字符串
(1)不同数据据类型,调用的toString方法都是该数据各自类型的原型链上的toString
(2)把数值转换成对应进制的数字字符串
例如:console.log(123.toString(2))
(3)undefined和null没有toString方法
2.用来判断数据类型
Object.prototype.toString.call()
3.当作为判断条件出现,或者运算符的某一项时,toStrring会隐式转换
二 ,使用Eclipse查看Object的toString方法的代码,结合代码说说该代码的用途。
Object类中的toString()源码:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
3, -->在Eclipse中查看Object的equals方法的代码,说说equals的用途。该方法被什么修饰符修饰,意味着什么?
源码:
public boolean equals(Object obj) {
return (this == obj);
}
用途:指示某个其他对象是否“等于”此对象。
该方法用boolean修饰,意味着它是用作判断
-->什么时候需要覆盖equals方法?结合String类的equals方法说说覆盖如何体现子类特有的特性?
equals的默认实现测试变量是否引用同一对象。如果这不是你想要的,那么你需要覆盖
当对一个类进行子类的拓展时,子类需要保留父类的功能声明,
但是要定义子类中该功能的特有内容时,就使用覆盖完成。
4,如果在子类中想要复用父类的代码,要怎么办?
采用继承的方式
5,可选:继承是复用代码的唯一方式吗?
不是