1.为什么说Java中的所有类都is-a Object?
java中所有的类都继承自object或者object的子类,里面提供例如equals,tostring等函数
2.在JDK文档中查找Object的toString方法。说一说,该方法有什么用?使用Eclipse查看Object的toString方法的代码,结合代码说说该代码的用途。
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
返回类名+@+哈希码
而在实际使用中,更多使用覆盖toString方法
3.在Eclipse中查看Object的equals方法的代码,说说equals的用途。该方法被什么修饰符修饰,意味着什么?什么时候需要覆盖equals方法?结合String类的equals方法说说覆盖如何体现子类特有的特性?
public boolean equals(Object obj) {
return (this == obj);
}
返回两个引用是否相同,引用不同即使内容相同也返回true
public,可以在任何地方调用
当需要使用equals的实际用途时,例比较里面的内容是否相同
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String) anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
比较一个个比较里面的属性,不同则返回false
4.如果在子类中想要复用父类的代码,要怎么办?
如果父类该方法使用public修饰,可以直接调用