第七章继承多态练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章继承多态
一、选择题:
1、分析:
class A {
A() { }
}
class B extends A { //系统自动生成的构造方法和类的访问权限一样
}
哪两种说法是正确的? ( )
A:类B的构造方法是public的. B:类B的构造方法包含对this()的调用. C:类B的构造方法没有参数. D:类B的构造方法包含对super()的调用.
2、运行结果是:()
class Base {
Base() { System.out.print("Base"); }
}
public class Alpha extends Base {
public static void main( String[] args ) {
new Alpha();
new Base();
}
}
A: Base B: BaseBase C: 编译失败. D: 没有输出. E: 运行时异常. 3. 程序的运行结果是?()
A: 编译失败. B: hello from a C: hello from b
D: hello from b E: hello from a
hello from a hello from b
4. 运行结果是:()
class TestSuper {
TestSuper(int i) { }
}
class TestSub extends TestSuper{ }
class TestAll {
public static void main (String [] args) {
new TestSub();
}
}
A: 编译失败. B: 程序运行没有异常.
C: 第7行抛出异常. D: 第2行抛出异常.
5. 程序的运行结果是?()
A: 0 B: 1 C: 2 D: 编译失败.
6. 对于语句"B is a D" 和"B has a C",一下哪两种说法是正确的? ( ) A:D是B. B:B是D. C:D是C. D:B是C. E:D继承B.
F:B 继承D.
7. 运行结果是?()
A: 1 B: 2 C: 第8行编译失败. D: 第14行编译失败.
8. 分析:
public class ConstOver {
public ConstOver(int x, int y, int z) {
}
}
哪两个是对ConstOver 的构造方法的重载? ( )
A:ConstOver() { } B:protected int ConstOver() { }
C:private ConstOver(int z, int y, byte x) { }
D:public Object ConstOver(int x, int y, int z) { }
E:public void ConstOver(byte x, byte y, byte z) { }
9. 运行结果是?()
A: 4,4 B: 4,5 C: 5,4 D: 5,5 E: 编译失败.
10. 分析:
public class X {
public X aMethod() { return this;}
}
1) public class Y extends X {
2)
3) }
在第2行可以插入哪两项? ( )
A:public void aMethod() { } B:private void aMethod() { }
C:public void aMethod(String s) { } D:private Y aMethod() { return null; } E:public X aMethod() { return new Y(); }
11. 运行结果是?()
A: 4,4 B: 4,5 C: 5,4 D: 5,5 E: 编译失败.
12. 以下哪两个重载了方法setVar()? ( )
public class MethodOver {
public void setVar(int a, int b, float c) {
}
}
A:private void setVar(int a, float c, int b) { } B:public int setVar(int a, float c, int b) {return a;}
C:protected void setVar(int a, int b, float c) { } D:public int setVar(int a, int b, float c) {return a;}
E:protected float setVar(int a, int b, float c) {return c;}
13. 分析:
1) class BaseClass {
2) private float x = 1.0f;
3) protected void setVar(float f) { x = f; }
4) }
5) class SubClass extends BaseClass {
6) private float x = 2.0f;