- 128 - 习题 1
类之间的关系除了聚合和关联外,还有继承,请用UML 符号描述下述类之间的关系
1) 账户和存款帐户 2) 学生和人 3) 水果和橙子 4) 教师和课程 5) 班级和学生 答:1)继承关系; 2)继承关系; 3)继承关系; 4)关联关系; 5)聚合关系
简述Object 的意义,以及在判断相等时,子类需要如何重写超类的方法
答:Object 的类
它是所有Java 类(JDK 提供的,第三方类库、用户自定义的)的根类一个类如果在声明时没有明确使用extends 来标记自己派生于某个类,那么编译器将自动将Object 类作为该类的超类,因此,所有的类最终都来自 Object,按照继承的特性,所有的类都继承了Object 类中的所有方法
Object 提供了一个对象基本的行为定义,例如,两个对象的相同比较(equals(… ))、对象的字符串表示(toString())、对象的复制(clone())等等
这些没有用final 修饰的方法其行为一般都需要在子类中重新定义
在判断相等时,子类需要重写Object 类中的equals 方法,定义自身判断相等的原则
超类的构造方法是否可以被子类覆盖(重写)
答:不会,子类并不继承超类的构造方法作为自己的构造方法,因为构造方法用来构造类的对象,子类和父类并非同一类型,因此子类不能直接继承父类的构造方法,必须有自己的构造方法,但是子类的构造方法并不会覆盖超类的构造方法
虽然不能继承超类的构造方法,但子类可以通过 super 关键字来调用父类已定义的构造方法
试述super 的作用和使用规则
答:1)显式的调用父类的方法当从一个类继承时,子类和父类都有一个同名方法,也就是子类覆盖了父类的方法,可是又想调用父类的方法,那么就要用super
2)在构造方法中,与 this 用法类似,利