3、请问如下选项中,_____可以使得以上代码编译没有错误。E 1. public abstract class Test { 2. public abstract void methodA(); 3.
4. public abstract void methodB() 5. {
6. System.out.println(“Hello”); 7. }
8. }
A 给methodA加上方法体;
B 将第5-7行的代码用“;”代替 C 将类Test前面的修饰符abstract去掉 D 将方法methodA前面的修饰符abstract去掉 E 将方法methodB前面的修饰符abstract去掉
4、下面选项中,_____可以是合法的方法重写的形式。BD class BaseClass {
private float x = 0f;
protected float getVar() { return x; }
}
class SubClass extends BaseClass {
private float x = 0f;
____________________ }
A. float getVar() { return x; } B. public float getVar() { return x; } C. public double getVar() { return x; } D. protected float getVar() { return x; } E. public float getVar(float f) { return f; }
5、如果有如下这样一段代码 class A { A() { } } class B extends A { }
请在下面项中,正确的说法是:B D
A.类B的构造函数的访问权限是public B、 类B的构造函数没有参数
C、 类B的构造函数中包含this()方法的调用; D、 类B的构造函数中包含super()的调用
三、课后习题答案
3.什么类中可以有abstract方法? 答案:abstract类。
4.什么叫对象的上转型对象?
答案:假设B类是A类子类或间接子类,当我们用子类B创建一个对象,并把这个对象的引用放到A类的对象中时,称这个A类对象是子类对象的上转型对象。父引用指向子对象。
5.什么叫接口的回调?
答案:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。
6.下列叙述哪些是正确的?AD A. final类不可以有子类
B. abstract类中只可以有abstract方法。
C. abstract类中可以有非方法,但该方法不可以用final修饰。 D. 不可以同时用final和abstract修饰一个方法。
9.写一个类A,该类创建的对象可以调用方法f输出英文字母表,然后再编写一个该类的子类B,要求子类B必须继承A类的方法f(不允许重写),子类创建的对象不仅可以调用方法f输出英文字母表,而且可以调用子类新增的方法g输出希腊字母表。
class A {
public final void f() { }
char cStart = 'a', cEnd = 'z'; for (char c = cStart; c <= cEnd; c++) { }
System.out.print(\ }
class B extends A {
public void g() { }
char cStart = 'α', cEnd = 'ω';
for (char c = cStart; c <= cEnd; c++) { }
System.out.print(\}
public class Xiti9 {
public static void main(String args[]) { }
B b = new B(); b.f(); b.g();