面向对象程序设计(答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学号:姓名:

第三章面向对象程序设计作业

一、判断题

1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对

2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对

3、接口中的成员变量全部为常量,方法为抽象方法。对

4、抽象类可以有构造方法,可以直接实例化。错

5、对static方法的调用可以不需要类实例。对

6、包含抽象方法的类一定是抽象类。对

7、方法中的形参可以和方法所属类的属性同名。对

8、接口无构造器,不能有实例,也不能定义常量。错

9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对

10、Java应用程序的入口main方法只有一种定义法。对

二、选择题

1、下列答案正确的是(A )

A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public

B) 在同一个Java源文件中只能包含一个类,并被声明为public

C) 在同一个Java源文件中可以包含多个类,都可以被声明为public

D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default

2、Java实现动态多态性是通过( B )实现的。

A) 重载B) 覆盖

C) 接口D) 抽象类

3、下列哪一个是正确的方法重载描述( A )

A) 重载方法的参数类型必须不同

B) 重载方法的参数名称必须不同

C) 返回值类型必须不同

D) 修饰词必须不同

4、final关键字不可以用来修饰( D )

A) 类B) 成员方法

C) 域D) 接口

5、接口的所有成员方法都具有( B )属性

A) private, final B) public, abstract

C) static, protected D) static

6、Java的封装性是通过(A )实现的

A) 访问控制B) 设计内部类

C) 静态域和静态方法D) 包

7、下列接口或类不属于.*包的是( D )

A) Collection B)Vector C) Map D) Integer

8、下述哪一组方法,是一个类中方法重载的正确写法( A )

A) int addValue( int a, int b ){return a+b;}

float addValue ( float a, float b) {return a+b;}

B) int addValue (int a, int b ){value=a+b; }

float addValue ( int a, int b) {return (float)(a+b);}

C) int addValue( int a, int b ){return a+1;}

int addValue ( int a, int b) {return a+b;}

D) int addValue( int a, int b ) {return a+b;}

int addValue ( int x, int y ) {return x+y;}

9、下列说法哪个是正确的( C )

A) 子类不能定义和父类同名同参数的方法

B) 子类只能继承父类的方法,而不能重载

C) 重载就是一个类中有多个同名但有不同形参和方法体的方法

D) 子类只能覆盖父类的方法,而不能重载

10、对于下列代码:

public class Parent {

public int addValue( int a, int b) {

int s;

s = a+b;

return s;

}

}

class Child extends Parent {

}

下述哪个方法不可以加入类Child ( B )

A) public int addValue( int a, int b,int c ){.}

B) public void addValue (int a, int b ){.}

C) public int addValue( int a ){.}

D) public int addValue( int a, int b ) {.}

11、以下程序段输出结果的是( B )

public class A implements B {

public static void main(String args[]) {

int i;

A c1 = new A();

i= ;

"i="+i);

}

}

interface B {

int k = 10;

}

A) i=0 B) i=10 C) 程序有编译错误D) i=true

12、阅读下面的程序,输出结果是( B )

public class TestDemo {

int m=5;

public void some(int x) {

m=x;

}

public static void main(String args []) {

new Demo().some(7);

}

}

class Demo extends TestDemo {

int m=8;

public void some(int x) {

(x);

}

}

A) 5 B) 8 C) 7 D) 编译错误

13、下述哪个说法是不正确的( A )

A) 局部变量在使用之前无需初始化,因为有该变量类型的默认值

B) 类成员变量由系统自动进行初始化,也无需初始化

C) 参数的作用域就是所在的方法

D) for语句中定义的变量,当for语句执行完时,该变量就消亡了

14、下述那一个保留字不是类及类成员的访问控制符。(C )

A) public B) private

C) static D) protected

15、假设有个类已经定义了下述的实例变量:

int num1=10;

int num2=20;

String word = new String(“exam”);

double answer=;

另外定义了下列方法头:

public int stuff(String s, int x, int y)

以下哪个选择是正确的方法调用( A )

A)num1=stuff(“hello”,num1,num1);

B)answer=stuff(word,answer,num2);

C)num2=stuff(“hello”,num1,answer);

D)num1=stuff(num1,num2,word);

16、下哪一项不是构造方法的特点:( C )

A 构造方法名必须与类名相同;

B 构造方法不具有任何返回类型;

C 任何一个类都含有构造方法;

D 构造方法修饰词只能是public。

17、定义类B和类C如下,并将其保存为:文件,得到的结果是( B ) class B

{int b;

B(int i){b=i;}

}

class C extends B

相关文档
最新文档