面向对象基础复习资料

合集下载

《面向对象程序设计c》综合复习题集及答案详解

《面向对象程序设计c》综合复习题集及答案详解

《面向对象程序设计c》综合复习题集及答案详解

综合复习题集

一、单选题

1.C++源程序文件的缺省扩展名为(A)。

A.cpp

B.e某e

C.obj

D.lik

2.由C++源程序文件编译而成的目标文件的缺省扩展名为(C)。

A.cpp

B.e某e

C.obj

D.lik

3.由C++目标文件连接而成的可执行文件的缺省扩展名为(B)。

A.cpp

B.e某e

C.obj

D.lik4.编写C++程序一般需经过的几个步骤依次是()。

A.编译、编辑、连接、调试

B.编辑、编译、连接、调试

C.编译、调试、

编辑、连接D.编辑、调试、编辑、连接

5.以下标识符中不全是保留字的是()。

A.caeforint

B.defaultthenwhile

C.boolclalong

D.gotoreturnchar

6.能作为C++程序的基本单位是()。

A.字符

B.语句

C.函数

D.源程序文件7.程序中主函数的名字为()。

A.main

B.MAIN

C.Main

D.任意标识符8.C++程序的基本模块为()。

A.表达式

B.标识符

C.语句

D.函数9.可用作C++语言用户标识符的一

组标识符是()。

A.voiddefine+WORD

B.a3_b3_123YN

C.for-abcCae

D.2aDOizeof

10.存储以下数据,占用存储字节最多的是()。

A.0B.‘0’C.“0”D.0.011.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。

A.空格或逗号

B.逗号或回车

C.逗号或分号

D.空格或回车12.

设”inta=12;”,则执行完语句”a+=a某a;”后,a的值是()。

面向对象程序设计考试复习资料

面向对象程序设计考试复习资料

面向对象程序设计

1. 代码public class Test {

public int aMethod() {

static int i = 0;

i++;

return i;

}

public static void main (String args[]) {

Test test = new Test();

test.aMethod();

int j = test.aMethod();

System.out.println(j);

}

}

输出结果为编译失败,static用来修饰全局变量,不能修饰局部变量

2. 下面的程序中,temp的最终值是1

long temp=(int)3.9;

temp%=2;

3.在J2EE中属于Web层的组件有:Servlet

4. 派生类中的成员不能直接访问基类中的private成员。

5.以public修饰的类如:public class Car{…}则Car可被其它程序包中的类使用

6.paint( )方法使用 Graphics 类型的参数

7. 下面数据插入语言(DIL)不属于SQL语句的子类

8. 实现运行时的多态性要使用虚函数。

9. 创建对象时构造函数被调用

10. 如下代码:

class Base {

Base() { System.out.print(“Base”); }

}

public class Alpha extends Base {

public static void main( String[] args ) {

new Alpha();-----调用父类无参的构造方法

new Base();

C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)

面向对象程序设计C++

复习资料与答案

第一、二、六、七章习题

一、选择题

1、系统约定C++源程序文件名的缺省的扩展名为()

A、bcc

B、c++

C、cpp

D、vcc

2、面向对象的程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理.

A、对数据的操作

B、信息

C、数据隐藏

D、数据抽象

3、当一个函数无返回值时,函数的类型应定义为()

A、void

B、任意

C、int

D、无

4、对于C++的函数,正确的叙述是:

A、函数的定义不能嵌套,但函数的调用可以嵌套

B、函数的定义不能嵌套,但函数的调用不能嵌套

C、函数的定义和调用都不能嵌套

D、函数的定义和调用都可以嵌套

5、下列语句中错误的是( )

A、int *p=new int(10);

B、int *p=new int[10]

C、int *p=new int;

D、int *p=new int[40](0);

6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()

A、name[3]=’a’;B、name=”lin”;

C、name=new char[5]; D、cout<〈name[3];

7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:( )

A、name[3]=’q';B、name=”lin”;

C、name=new char[5];D、name=new char(‘q’);

8、假设已经定义:const char *name=”chen”;,下面的语句中错误的是:( )

面向对象复习题

面向对象复习题

第一部分面向对象方法概述

一、填空题

1.对象的抽象是,类的实例是。

2.动态模型描述了系统的结构。

3.软件系统中存在两种控制流,外部控制流是系统中对象之间外部事件的事件流,

有、和三种外部事件控制流。控制流是一个处理内

部的控制,均可结构化。

4.在C++和C中有一个函数,可以使用这个过程来说明构成系统主要对象的

那些类的实例。

5.继承性是自动共享父类属性和的机制。

6.对象具有封装性,实现了的组合。

7.在面向对象方法中,信息隐藏通过对象的来实现。类结构分离了

和,从而支持了信息隐藏。

8.抽象是指强调实体的、,忽略一些无关紧要的属性。类实现了对象

的和的抽象,它是对象的共性的抽象。

9.子类只继承的属性和操作,称为单重继承。

10.对象的抽象是,类的具体化就是,也可以说类的实例

是。

11.类具有,它是的行动的抽象。

12.对象具有状态,对象用来描述它的状态。

13.概念模型描述了系统的。功能模型指出,动态模型确定,

而对象模型确定。功能模型由组成。

14.面向对象有三个基本要素,它们是、、。

15.面向对象技术在三个级别上促进了共享,它们是、、。

16.活动是一种有时间间隔的操作,它是依附于。动作是一种瞬时操作,它

是与了解在一起的操作。

17.封装性是指所有软件部件内部都有明确的以及清楚的。每个软

件部件都有友好的,软件部件的与分离。

18.主要的对象类型有、、和。

19.同一个类中的共享是指同一个类中的对象有着相同的和相同

的。

20.结构化方法的本质是,其、可修改性和可重用性都比较差。

21.对象还有,用于改变对象的状态。对象实现了和的

第三章 面向对象(上)复习题目

第三章 面向对象(上)复习题目

第3章面向对象(上)

习题

一、填空题

1.在Java中,对象是通过【类】创建出来的。

2.构造方法的名称必须和【类名称】保持一致。

3.this关键字可以访问一个类的【成员变量】变量,解决与局部变量名称冲突的

问题。

4.一个类中可以定义多个构造方法,只要每个构造方法的【参数类型与参数名

称】不同,即可实现重载。

5.int类型的成员变量初始化值为【0 】。

二、判断题

1.在Java中使用String类型的实例对象表示一个字符串。(对)

2.在成员方法中出现的this关键字,代表的是调用这个方法的对象。(对)

3.在成员方法中可以使用“this([参数1,参数2…])”来调用其它的构造方法。(错)

4.垃圾回收器会随时将垃圾对象从内存中释放。(错)积累到一定值同意收回,单独

调用

5.静态代码块中可以对静态成员变量进行赋值。(对)

三、选择题

1.下列关于this的说法中,错误的是(D )

A: 只能在构造方法中使用this调用其它的构造方法,不能在成员方法中使用

B: 在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次C: this关键字可以用于区分成员变量与局部变量

D: this可以出现在任何方法中有限制的

2.当一个类中成员变量和局部变量重名时,可以使用哪个关键字进行区分(D )

A: super B: this C: public D: true

3.下面关于静态变量的描述,正确的是(C )

A: 静态变量可以定义在类中的任意位置

B: 静态变量一但被赋值不能被修改

C: 静态变量可以被类直接调用,因此可以说静态变量的生命周期与实例无关

Java语言及面向对象技术复习资料

Java语言及面向对象技术复习资料

Java语言及面向对象技术复习资料

一、单项选择题。

1、下列哪个是Java应用程序主类中正确的main方法?()

A.public void main(String args[])

B.static void main(String args[])

C.public static void Main(String args[])

D.public static void main(String args[])

2、下列哪项是正确的float变量的声明?()

A.float foo=-1; B.float foo=1.0;

C.float foo=2.02f; D.float foo=0x0123;

3、对于int a[]=new int[3];下列哪个叙述是错误的?()

A.a.length的值是3。B.a[1]的值是1。

C.a[0]的值是0。D.a[a.length-1]的值等于a[2]的值。

4、下列哪个叙述是正确的?()

A.5.0/2+10的结果是double型数据。

B.(int)5.8+1.0的结果是int型数据。

C.’苹’+’果’的结果是char型数据。

D.(short)10+’a’的结果是short型数据。

5、对于下列Hello类,哪个叙述是正确的?()

A.Hello类有2个构造方法。

B.Hello类的int Hello()方法是错误的方法。

C.Hello类没有构造方法。

D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。class Hello {

Hello (int m) {

面向对象程序设计课程复习资料

面向对象程序设计课程复习资料

《面向对象程序设计》课程复习资料

一、单项选择题:

1.C#中每个 int 类型的变量占用()个字节的内存。 [ ]

A.1

B.2

C.4

D.8

2.C#应用程序中,用主方法指明程序执行的开始点,主方法的名字规定为 [ ]

A. class

B. main

C. Main

D. MainWay

3.下面所列的C#自定义标识符中,正确的是 [ ]

A.@double B. $double C. #double D. ~double

4.C#语言是微软.NET公共语言运行环境中内置的核心程序设计语言,是一种 [ ]

A.面向过程程序设计语言

B.面向对象程序设计语言

C.跨平台程序设计语言

D.机器语言

5.C#语言中,双精度实型数据类型(double)所占用的存储空间为()个字节。 [ ]

A.1

B.2

C.4

D.8

6.C#应用程序中,导入其他系统预定义元素部分可以使用关键字 [ ]

A. use

B. namespace

C. import

D. using

7.下面的运算符中,优先级别最低的是 [ ]

A. new

B. !=

C. ?:

D. =

8.设有整型变量x,则表达式x=5/8运算后,变量x的值为 [ ]

A.0

B.0.625

C.0.6

D.0.63

9.执行C#语句序列:int i; for (i = 0; i++ < 4; );后,变量i的值是 [ ]

A.5

B.4

C.1

D.0

10.在默认的情况下,省略的类访问修饰符是 [ ]

A. private

B. public

C. protected

D. internal

11.在下面的类声明中,属于私有字段的是 [ ]

面向对象程序设计知识点

面向对象程序设计知识点

面向对象程序设计

万物皆对象

冯君,李永,李群,薛红芳编

1

面向对象的特性-封装性

学习目标:

1.理解封装的概念

2.掌握private 关键字

3.掌握构造方法

4.掌握方法重载 重点与难点:封装性的理解,构造方法的使用,方法重载的定义

理解为什么需要封装

封装的定义

1.封装,就是隐藏实现细节

2.将属性私有化,提供公有

方法访问私有属性

3.通过这些公有方法访问私

有属性,这样做的好处是

防止外界直接对属性进行

不合理的更改。

理解为什么需要构造方法

构造方法的定义:

构造方法负责对象成员的初始化

工作,为实例变量赋予合适的初

始值。

构造方法必须满足以下语法规则:

1、方法名与类名相同

2、没有返回类型

构造方法的调用:创建对象时自动

调用。这好比是人刚出生父母就给

他起好了名字。

带参构造方法:通过调用带参数的

构造方法,简化对象初始化的代码。

特殊的this:this 表示当前对象,

为了区分成员变量和参数,如果

不同名,可以不加this 。

方法重载的定义:

1.方法名相同。

2.方法的参数类型、个数、顺序

至少有一项不相同。

3.方法的返回类型可以不相同。

4.方法的修饰符可以不相同。

思考:构造方法可以重载吗?(可以)

public class Teacher{

private String name; // 姓名

// 返回姓名

public String getName() {

return name;

}

// 设定姓名

public void setName(String name) {

= name;

}

}

public class Teacher {

Java语言及面向对象技术复习资料

Java语言及面向对象技术复习资料

一、单项选择题。

1、下列哪个是Java应用程序主类中正确的main方法?()

A.public void main(String args[])

B.static void main(String args[])

C.public static void Main(String args[])

D.public static void main(String args[])

2、下列哪项是正确的float变量的声明?()

A.float foo=-1; B.float foo=1.0;

C.float foo=2.02f; D.float foo=0x0123;

3、对于int a[]=new int[3];下列哪个叙述是错误的?()

A.a.length的值是3。B.a[1]的值是1。

C.a[0]的值是0。D.a[a.length-1]的值等于a[2]的值。

4、下列哪个叙述是正确的?()

A.5.0/2+10的结果是double型数据。

B.(int)5.8+1.0的结果是int型数据。

C.’苹’+’果’的结果是char型数据。

D.(short)10+’a’的结果是short型数据。

5、对于下列Hello类,哪个叙述是正确的?()

A.Hello类有2个构造方法。

B.Hello类的int Hello()方法是错误的方法。

C.Hello类没有构造方法。

D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。class Hello {

Hello (int m) {

}

int Hello() {

《面向对象程序设计c++》复习题

《面向对象程序设计c++》复习题

《面向对象程序设计》

一、程序填充

1. 1. 已知一个类的定义如下:已知一个类的定义如下:已知一个类的定义如下:

#include<iostream.h>

class AA {

int a[10];

int n;

public: void SetA(int aa[], int nn); //void SetA(int aa[], int nn); //用数组用数组aa 初始化数据成员a ,

// //用用nn 初始化数据成员n

int MaxA(); //int MaxA(); //从数组从数组a 中前n 个元素中查找最大值个元素中查找最大值

void SortA(); //void SortA(); //采用选择排序的方法对数组采用选择排序的方法对数组a 中前n 个元素个元素

// //进行从小到大排序进行从小到大排序进行从小到大排序

void PrintA(); //void PrintA(); //依次输出数组依次输出数组a 中的前n 个元素,个元素,

// //最后输出一个换行最后输出一个换行最后输出一个换行

};

使用该类的主函数如下:使用该类的主函数如下:使用该类的主函数如下:

void main() {

int a[10]={23,78,46,55,62,76,90,25,38,42};

___AA x___;

x.SetA(a,8);

int ___m___;

_m=x.MaxA()___;

x.PrintA();

cout<<m<<endl;

}

该程序运行结果为该程序运行结果为该程序运行结果为: : 23 25 46 55 62 76 78 90

面向对象程序设计复习题库

面向对象程序设计复习题库

判断题

1. C++中标识符内的大小写字母是没有区别的。

2. C++是一种以编译方式实现的高级语言。

3. 在私有继承中,基类中所有成员对派生类都是不可见的。

4. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。

5. 使用关键字class定义的类中缺省的访问权限是私有(private)的。

6. 引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。

7. 类封装了数据和操作。

8. 析构函数可以有形参。

9. 派生类至少有一个基类。

10. 全局函数和静态成员函数也能声明为虚函数。

11. 在公有和保护继承方式下,派生类的对象可以对基类的保护成员进行访问

12. 友元本身就是类的成员。

13. 一个类只能有一个对象。

14. 构造函数没有函数类型。

15. 构造函数没有函数类型。

16. 只有类的成员函数才能声明为虚函数。

17. 所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的。

18. For循环是只有可以确定的循环次数时才可使用,否则不能用for循环。

19. 通常的拷贝初始化函数的参数是某个对象的成员名或对象的引用名。

20. 已知:类A中一个成员函数说明如下:void Set(A& a);其中A& a的含意是将a的地址值赋给变量Set。

选择题

1. 一个最简单的C++程序,可以只有一个(2分)

A. 库函数

B. 自定义函数

C. main函数

D. 空函数

2. C++程序中的简单语句必须以( )结束(2分)

A. 冒号

B. 分号

C. 空格

5面向对象复习题

5面向对象复习题

一、填空题

1、面向对象的特征是、、和。

2、面向对象有三个基本要素,它们是、和。

3、类具有属性,它是的抽象,用来描述类的属性。

4、类具有操作,它是的抽象,用和实现来描述。

5、在类层次中,子类只继承一个父类的属性和方法,则称为。子类继承了多个父类的属性和方法,则称为。

6、OMT方法是RumBaugh等人提出的面向对象开发方法。开发工作的基础是对,然后围绕这些对象使用来进行独立于语言的设计。

7、Coad和Y ourdon方法完成了从需求角度出发的认定工作,面向对象设计可以在此基础上,从设计的角度进一步进行的认定。

8、Booch方法通过分析问题陈述正文,将其中的映射为对象,将其中的映射为方法,从而为对象和方法的认定提供了一种简单的策略,虽然Booch方法原是面向的语言,但仍处于面向对象开发方法的奠基性地位。

9、不仅统一了Booch方法、OMT方法、OOSE方法的表示方法,而且对其作了进一步的发展,最终成为为国际对象组织(OMG)认可的同一建模语言。

10、在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即和整体-部分关系。

11、在面向对象设计中存在三种内聚,即、和。

二、单选填空题

1、对象是面向对象开发方法的基本成分,每个对象可用它本身的一组( )和它可以执行的一组操作来定义。

A. 服务

B. 参数

C. 属性

D. 调用

2、在面向对象方法中,把一组具有相同数据结构和相同操作的对象的集合定义为( )。此定义包括一组数据属性和在数据上的一组合法操作。

A. 聚合

B. 类

C. 结构

面向对象复习提纲

面向对象复习提纲

1.简述软件开发过程的实质(2-5)

软件开发过程的实质是建模的过程:在开发过程中定义并构建一系列模型,通过这些模型越来越详细地描述系统,直到对需求的充分了解,能够开始编程。

2.述说Rational Unified Process的三个核心特征(1-16)

受控的迭代(Iterative)式增量(Incremental)开发(将软件开发过程分为一系列小的迭代过程,在每个迭代过程中逐步增加信息、进行细化;根据具体情况决定迭代的次数、每次迭代延续的时间以及迭代工作流;每次迭代都选择目前对风险影响最大的用例进行,以分解和降低风险。)

用例(Use Cases)驱动(采用用例来捕获对目标系统的功能需求;采用用例来驱动软件的整个开发过程,保证需求的可跟踪性,确保系统所有功能均被实现;将用户关心的软件系统的业务功能模型和开发人员关心的目标软件系统的功能实体模型结合起来,提供一种贯穿整个软件生存周期的开发方式,使得软件开发的各个阶段的工作自然、一致地协调起来。)

以软件体系结构为中心(在开发过程的早期形成良好的软件体系结构,有利于对系统的理解、支持重用和有效的组织软件开发;在后续阶段中对已形成的体系结构框架进行不断细化,最终实现整个系统;)

3.软件生命周期的几个阶段(1-8)

软件生命周期:从软件的立项开发到软件的最终消亡的全过程。包括:需求分析(Requirement Analy sis);软件设计(Software Design);编码(Coding/Programming);测试/调试(T esting/Debug);运行/维护(Running/Maintenance)

面向对象程序设计复习题

面向对象程序设计复习题

一、选择题(每题1分,共30分)

1. 下列关于C++语言的描述,哪个是错误的?()。

A. C++语言支持结构化程序设计方法

B. C++语言是解释执行的

C. C++语言是编译执行的

D. C++语言支持面向对象程序设计方法

2. 下列哪种数据类型的存储位数最多?()。

A. char

B. int

C. float

D. double

3.下列哪个名字可以作为变量名?()。

A. No.1

B. 123ABC

C. long

D. Long

4. 下列定义变量语句中,错误的是()。

A. int x, y;

B. int x = 5, y;

C. int x = y = 5;

D. int x = 5, y = 5;

5. 计算圆形周长的公式是:周长=2πr,其中r为半径。编写计算圆形周长的程序时需要将什么数据定义成变量?()。

A. π

B. 半径

C. 周长

D. 半径和周长

6. C++语言表达式:5 / 2,该表达式结果的数据类型和值分别是()。

A. short,2

B. int,2

C. float,2.5

D. double,2.5

7. 执行C++语句:int x = 5, y = 6, z; z = x++ / --y; 执行后变量x、y和z的值分别为()。

A. 5, 5, 1

B. 6, 5, 1

C. 6, 5, 1.2

D. 5, 6, 0

8. 执行下列语句:int x = 5, &y = x; y = x + 10; 执行后变量x的值为()。

A. 5

B. 10

C. 15

D. 20

9. 下列定义并使用指针变量px的语句中,正确的是()。

面向对象程序设计考前复习题及答案

面向对象程序设计考前复习题及答案

简答题

1、传统的结构化程序设计的优点和缺点是什么?

优点:

(1)这种程序设计方法力求算法描述精确。

(2)对每一子过程模块简单进行程序正确性证明。

缺点:

(1)这种程序设计方法本质上是面对“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能干脆反映人类求解问题的思路。

(2)程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。

(3)维护程序的一样性困难。该种方法将数据与对数据进行处理的程序代码分别。

2、什么是对象?

每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。对象的属性描述了对象的状态和特征,对象的方法说明白对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。

3、什么是消息?

在面对对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。当一个对象须要另外一个对象供应服务时,它向对方发出一个服务恳求,而收到恳求的对象会响应这个恳求并完成指定的服务。这种向对象发出的服务恳求就称为消息。

4、什么是多态性?

所谓多态性是指当程序中的其他部分发出同样的消息时,根据接收消息对象的不同能够自动执行类中相应的方法。其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大便利。

5、什么是面对对象的程序设计方法?

这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。

面向对象软件工程总复习

面向对象软件工程总复习

B)操作系统不断向应用程序发送消息,但应用程
序不能向操作系统发送消息
C)应用程序之间可以相互发送消息
D)发送与接收消息的通信机制与传统的子程序调
用机制不同
❖ 软件测试的目的是 。通常单元测试是在代码编写
阶段可进行的测试,它是整个测试工作的基础。
(C)
A)表明软件的正确性
B)评价软件质量
C)尽可能发现软件中错误 D)判定软件是否合
C. 功能模型
D. 行为模型
❖ 面向对象方法的要素是 。
(B)
A.对象、类、数据类型和算法
B.对象、类、继承和消息
C.对象、基类、派生类和继承
D.对象、父类、子类和继承
❖ 用“自底向上”方式建立继承关系是指 。
(B)
A.把现有类细化成更具体的子类
B.从现有类泛化出更抽象的父类
C.从较高的层次推导出较低的层次
更新挂号
<<uses>> 访问挂号登记表


<<uses>>


取消挂号
<<uses>>



打印工作安排

第十八页,编辑于星期一:十四点 十一分。
2.建立类图 类是是面向对象的开发方法的基础,可以 说UML 的基本任务就要识别系统所必需的类, 并分析类之间的联系,并以此为基础,建立系 统的其它模型。建立类图的第一步工作是确定 有哪些类。 从对牙科诊所问题的陈述中,可以接“名 词识别法”找出下列名词作为类的候选者:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题(每题2分*10题,20%)

1.下列( D )中类声明是正确的。

A. abstract final class HI{···}

B. abstract private move(){···}

C. protected private number;

D. public abstract class Car{···}

2.在Java中,用Package语句说明一个包时,该包的层次结构必须是

( B )。

A.与文件的结构相同

B.与文件目录的层次相同

C.与文件类型相同

D.与文件大小相同

3.在Java中,能实现多重继承效果的方式是( C )。

A.内部类B.适配器

C.接口D.同步

4.一个类中有公共的double型成员变量PI,该值保持为常数3.14,则定

义这个成员变量的语句是( D )。

A.public double PI=3.14;

B.final double PI=3.14;

C.public const double PI=3.14;

D.public final double PI=3.14;

5. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数

个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。

A.隐藏 B.覆盖

C.重载 D.Java不支持此特性

6.关于对象成员占用内存的说法中( B )是正确的。

A.同一个类的对象共用同一段内存

B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存

D.以上都不对

7.以下说法正确的是( C )。

A.抽象方法可以有方法体

B.抽象方法可以出现在非抽象类中

C.抽象方法是没有方法体的方法

D.抽象类中的方法都是抽象方法

8.关于继承的说法正确的是( B )。

A.子类将继承父类所有的属性和方法。

B.子类将继承父类的非私有属性和方法。

C.子类只继承父类public方法和属性

D.子类只继承父类的方法,而不继承属性

9.关于构造函数的说法( C )是正确的。

A.一个类只能有一个构造函数

B.一个类可以有多个不同名的构造函数

C.构造函数与类同名

D.构造函数必须自己定义,不能使用父类的构造函数

10.覆盖与重载的关系是( A )。

A.覆盖只有发生在父类与子类之间,而重载发生在同一个类中

B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载

D.覆盖与重载是同一回事

11.以下关于继承的叙述正确的是( A )。

A.在Java中类只允许单一继承

B.在Java中一个类只能实现一个接口

C.在Java中一个类不能继承一个类的同时实现一个接口

D.在Java中接口只允许单一继承

12.能与abstract关键字一同修饰类或方法的关键字有( A )。A.public B.static

C.final D.private

13.定义一个接口必须使用的关键字是( C )。

A.public

B.class

C.interface

D.static

14.声明并创建一个按钮对象b,应该使用的语句是( A )。

A.Button b=new Button();

B.button b=new button();

C.Button b=new b();

D.b.setLabel(“确定”);

15. 符合对象和类的关系的是( D )。

A.教师和学生

B.书和房子

C.狗和猫

D.飞机和交通工具

16. 在Java中下列说法正确的是( C )。

A.一个子类可以有多个父类,一个父类也可以有多个子类

B.一个子类可以有多个父类,但一个父类只可以有一个子类

C.一个子类可以有一个父类,但一个父类可以有多个子类

D.上述说法都不对

17.关于类的构造方法的叙述不正确的是( B )。

A. 构造方法可以有参数

B. 一个类只能有一个构造方法

C. 构造方法没有返回值的类型

D. 构造方法的名称必须与类名相同

18.关于this关键字,以下说法不正确的是( C )。

A.this是对对象自身的调用,使用this.属性名可以直接调用对象本身的属性

B.使用this关键字可以处理方法中的局部变量与参数重名的情况

C.在static方法中可以使用this关键字访问相关的属性或方法

D.当必须指出当前使用方法的对象是谁时,要使用this关键字

19.String a = new String("Computer");

String b = new String("Computer");

若想判断a对象与b对象的值是否相等,应采用( B )方法

A.a == b

B.a.equals(b)

C.a = b D.a.equals = b

20.给定代码:

1 interface Foo{

2 int k = 0;

3 }

4

5 public class Test implements Foo {

6 public static void main(String[] args) {

7 int i ;

8 Test test = new Test();

9 i = test.k;

10 i = Test.k;

11 i = Foo.k;

12 }

13 }

编译运行如上代码,结果为( A )

相关文档
最新文档