JAVA基础 第4章继承与多态 - 练习题 - 200910

2020-04-14 03:20

Java基础 第4章练习题 大外软件学院

第4章 继承与多态

一.

选择题

1. 编译和运行以下两文件结果是( D )。

//文件P1.java package MyPackage; class P1{

void afancymethod(){

System.out.println(\ } }

//文件 P2.java package YourPackage; import MyPackage.*; public class P2 extends P1{

public static void main(String argv[]){ } }

A.两个均通过编译,P2运行时输出 What a fancy method B.没一个通过编译

C.两个均通过编译,但P2运行时出错 D.P1 通过编译,但P2出现编译错误

2.下列程序运行的结果是( A )。

package a; package b; public class D{

public static void main(String args[]) {

System.out.println(\,今天心情不错!\}

}

A.出现编译错误 B.^_^,今天心情不错! C.通过编译,运行时出错 D.以上都不对

3.Java的核心类库中哪个包,Java系统能自动引入( B )。

A.java.io B.java.lang C.java.net D.java.util 4.下列程序运行结果是( A )。

private class Base{ Base(){ int i = 100; System.out.println(i); } }

P2 p2 = new P2(); p2.afancymethod();

第1页 共12页

Java基础 第4章练习题 大外软件学院

public class Pri extends Base{ static int i = 200;

public static void main(String argv[]){ Pri p = new Pri(); System.out.println(i); } }

A.编译错误 B.200 C.100 200

5.下列程序运行结果是( C )。

class Base{ Base(){ int i = 100; System.out.println(i); } }

public class Pri extends Base{ static int i = 200;

public static void main(String argv[]){ Pri p = new Pri(); System.out.println(i); } }

A.编译错误

B.200

C.100 200 D.100

D.100

6.如何定义一个不能有子类的类Key( B )。

A.class Key { } C.public class Key { }

B.final class Key { } D.class Key {final int i;}

7.哪个选项可以做为以下方法的覆盖方法( A )。public void add(int a) {…}

A.public void add(int b) {…} C.public int add(int a) {…}

B.void add(int a) {…} D.public void add(float a) {…}

8.在子类构造方法的哪个地方可以调用超类的构造方法( B )。 A.任何地方

B.构造方法的第一条语句 C.构造方法的最后一条语句

D.不能在子类构造方法中调用超类的构造方法 9.下列程序的运行结果是( C )。

public class Test {

public static void test() { this.print(); }

public static void print() { System.out.println(\ }

public static void main(String args []) { test(); }

第2页 共12页

Java基础 第4章练习题 大外软件学院

}

A.输出Test B.无输出结果

C.类编译错误,指示不能在static上下文中使用this D.以上都不对 10.设有如下代码:

1. class Example{ 2. String str; 3. Example(){ 4. str= \5. }

6. Example(String s){ 7. str=s; 8. } 9. }

10. class Demo extends Example{ 11. }

12. public class Test{ 13. public void f () {

14. Example ex = new Example(\15. Demo d = new Demo(\16. } 17. }

以下哪行将导致错误( D )。 A.第3行

B.第6行

C.第10行 D.第15行

11.在Java中,如下的修饰符不是访问控制修饰符( A )。

A.static

B.public

C.protected

D.private

12.试完成下述程序片段( D )。

public class Point{

int x,y;

public Point(int x,int y){

( )=x; ( )=y;

} ... }

A.Point.x Point.y B.无解 C.x1 y1 D.this.x this.y 13.在JAVA 中( C )。

A.一个子类可以有多个父类,一个父类也可以有多个子类 B.一个子类可以有多个父类,但一个父类只可以有一个子类 C.一个子类只可以有一个父类,但一个父类可以有多个子类 D.上述说法都不对

第3页 共12页

Java基础 第4章练习题 大外软件学院

14.什么是在子类中创建一个和父类具有一样特征的方法,特征包括方法名字,参数个数,参数类型和方法返回值类型( A )。

A.覆盖(overloading)

B.重载(overriding)

C.继承(inheritance)

D.none

15.哪个关键词在子类中用来访问与父类中一样的方法( A )。

A.super B.this C.static D.以上没有 16.哪个关键词用来引用当前类的对象( B )。

A.super B.this C.static D.以上没有

17.哪个修饰符定义的方法和变量只在定义它们的类中可见,而在其他的任何类中它们都不可见( C )。

A.protected B.public C.private D.none of the above 18. 1. class Person {

2. public void printValue(int i, int j) {//... } 3. public void printValue(int i){//... } 4. }

5. public class Teacher extends Person { 6. public void printValue() {//... } 7. public void printValue(int i) {//...} 8. public static void main(String args[]){ 9. Person t = new Teacher(); 10. t.printValue(10); 11. } 12. }

第10行将调用的会是哪个方法( D )。 A.on line 2

B.on line 3 C.on line 6 D.on line 7

19.以下代码运行结果是( C )。

class Base {}

class Sub extends Base {} class Sub2 extends Base {} class CEx{

public static void main(String argv[]){ Base b = new Base(); Sub s = (Sub) b; } }

A.编译通过 20.设有如下类定义:

class BaseWidget {

String name=\ void speak(){

System.out.println(\}

}

class TypeAWidget extends BaseWidget{ TypeAWidget(){

name=\}

}

B.编译错误 C.运行异常 D.以上都不对

第4页 共12页

Java基础 第4章练习题 大外软件学院

以下哪段代码将正确编译和执行( B )。 A.Object a=new BaseWidget(); a.speak(); B.BaseWidget b=new TypeAWidget(); b.speak(); C.TypeAWidget c=new BaseWidget(); c.speak(); D.以上都不对

21.设有文件Derived.java中代码如下.

public class Base extends Object{ String objType; public Base(){

objType=\ } }

public class Derived extends Base{ public Derived() {

objType=\ }

public static void main(String args[]){ Derived D=new Derived(); } }

编译程序将出现何问题( B )。

A.将创建 Base.class 和 Derived.class 两个文件 B.编译程序将指示第1行有问题 C.编译程序将在第7行出错 D.以上都不对

22.哪种访问组合可放在第3行aMethod前和第8行的aMethod前( C )。

1. class SuperDuper 2. {

3. void aMethod() { } 4. } 5.

6. class Sub extends SuperDuper 7. {

8. void aMethod() { } 9. }

A.line 3: public; line 8: private B.line 3: protected; line 8: private C.line 3: private; line 8: protected D.line 3: public; line 8: protected 23.以下类:

1. public class Base {

2. public void method(int i) { 3. 4. } 5. }

System.out.print( \

第5页 共12页


JAVA基础 第4章继承与多态 - 练习题 - 200910.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:量子点

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: