1.为什么说Java中的所有类都is-a Object?
在Java中的所有类都是从Object这个类继承出来的,Object类是所有类的源头,是所有类的父类。
2.在JDK文档中查找Object的toString方法。说一说,该方法有什么用?使用Eclipse查看Object的toString方法的代码,结合代码说说该代码的用途。
toString用于类 的方法Object 返回一个字符串,该字符串由对象作为实例的类的名称,符号字符“ @”和对象的哈希码的无符号十六进制表示组成。
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
3.在Eclipse中查看Object的equals方法的代码,说说equals的用途。该方法被什么修饰符修饰,意味着什么?什么时候需要覆盖equals方法?结合String类的equals方法说说覆盖如何体现子类特有的特性?
public boolean equals(Object obj) {
//java中==符号在比较复合型数据类型(类)时比较的是对象在内存中的存放地址,只有同个new出来的对象,
//他们在内存中的存发地址才一样,比较结果才为true,否则为false
return (this == obj);
}
(1)Object类中的equals方法判断两个引用对象指的是不是是同一个对象,比较的是两个引用对象的内存地址是否相同。
(2)被public修饰
(3)当equals()方法指两个引用对象所指向的内存里的内容否相等事,需要覆盖equals方法。
4.如果在子类中想要复用父类的代码,要怎么办?
.super().父类成员的方式调用
也能在子类中做一个新方法来调用父类已经被覆盖的方法