第十二章 继承
笔试题
一、填空题
1. 【基础题】 继承 是一种软件重用形式,在这种形式中,新类获得现有类的数据和方法,并可增加新的功能。
2. 【基础题】派生类构造方法可以通过关键字 super 调用基类构造方法
3. 【基础题】在Java中继承的关键字是 extends
二、选择题
1. 【基础题】如果任何包中的子类都能访问超类中的成员,那么应使用哪个关键词( A)
A. public
B. private
C. protected
D. final
2. 【提高题】有关类Demo,那些描述是正确的 (AC)
public class Demo extends Base{
private int count;
public Demo(){
System.out.println("A Demo object has been created");
}
protected void addOne() {
count++;
}
}
A. 当创建一个Demo类的实例对象时,count的值为0。
B. 当创建一个Demo类的实例对象时,count的值是不确定的。
C. 超类对象中可以包含改变count 值的方法。
D. Demo的子类对象可以访问count。
三、名词解释
1. 【基础题】uses-a: 依赖
2. 【基础题】has-a: 聚合
3. 【基础题】is-a: 继承
四、问答题
1. 【基础题】通过继承,子类可以获得哪些好处?
答:
扩展自己,获得父类的属性和方法。
获取父类的数据和对数据的操作
2. 【基础题】简述方法覆盖
答:
方法覆盖是指子类中存在和父类完全同名(方法名相同、返回类型相同、参数表相同)的方法
3. 【基础题】简述Super关键词的好处和使用方法、访问范围
答:
super关键字用来解决如何直接访问或初始化从父类继承来的成员。
在写子类无参数构造方法时,不用显式调用父类无参数构造方法,系统会自动提供 ,但在写子类带参数构造方法时,应在第一句写super(参数)来初始化父类成员变量;访问范围包括父类属性、一般方法和构造方法。
4. 【中等题】请描述继承中的访问权限控制
答:
本类访问权限
本类方法可访问本类所有变量
本类对象不可访问本类private变量
子类访问权限
子类方法不可访问父类private变量
子类对象不可访问父类private变量
父类对象引用可指向它的任何子类对象,不论是直接还是间接子类,反之不行