文档库 最新最全的文档下载
当前位置:文档库 › 面向对象试题

面向对象试题

面向对象试题

《面向对象技术》试题

一、解释下列概念:(5分×8)

1、面向对象方法

2、对象

3、类

4、继承

5、问题域

6、use case

7、开放-封闭原则

8、软件复用

二、简述传统开发方法的主要缺点和面向对象方法的主要优点(12分)

三、简述OOA的主要原则。(9分)

四、简述OOA的过程。(10分)

五、以教师、学生和题库服务器这三类主动对象为中心,把对象类划分为三组,每一组的对象类都放置在同一台计算机上,与其他组既可以分离,也可以不分离。请在该分组的基础上建立习题管理系统的完整类图。(15分)

六、两位学生给学校图书馆做了下面两个不同的设计(图a和图b)。它们都尝试模拟图书馆借书给读者,即借书者(此处指的是把书借给别人的人或机构)的关系,请可以解释一下两个设计背后的想法。哪一个较好?试取两者之长做出改良设计。(14分)

图(a)图(b)

面向对象方法题库1-1-9

面向对象方法题库1- 1-9

问题: [单选]用例(usecase)用来描述系统对事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系筑”中,创建新订单和更新订单都需要核查用户账号是否正确。用例“创建新订单”、“更新订单”与用例“核查客户账号”之间是()关系。 A.包含(includE. B.扩展(extenD. C.分类(classification) D.聚集(aggregation) 用例是在系统中执行的一系列动作,这些动作将生成特定参与者可见的价值结果。它确定了一个和系统参与者进行交互,并可由系统执行的动作序列。用例模型描述的是外部执行者(actor)所理解的系统功能。用例模型用于需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。 两个用例之间的关系主要有两种情况:一种是用于重用的包含关系,用构造型include表示;另一种是用于分离出不同行为的扩展,用构造型extend表示。 ①包含关系:当可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例的部分功能是很重要的事时,应该使用包含关系来表示它们。 ②扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事

情,可以断定将这个用例分为一个主用例和一个或多个辅用例描述可能更加清晰。

问题: [单选]对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案是() A.尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程 B.创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B 行为不完全一致的问题 C.将B到A的继承关系改成组合关系 D.区分是Is-a还是Has-a。如果是Is-a,可以使用继承关系,如果是Has-a,应该改成组合或聚合关系 里氏替换原则是面向对象设计原则之一,由BarbaraLiskov提出,其基本思想是,一个软件实体如果使用的是一个基类对象,那么一定适用于其子类对象,而且觉察不出基类对象和子类对象的区别,即把基类都替换成它的子类,程序的行为没有变化。反过来则不一定成立,如果一个软件实体使用的是一个子类对象,那么它不一定适用于基类对象。 在运用里氏替换原则时,尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程。由于子类继承基类并实现其中的方法,程序运行时,子类对象可以替换基类对象,如果需要对类的行为进行修改,可以扩展基类,增加新的子类,而无须修改调用该基类对象的代码。

第4章-Java语言与面向对象作业习题与答案

第4章 Java语言与面向对象作业习题与答案 一、简答题 1.什么是对象?什么是类? 对象是一种抽象数据类型。它包含了事物的静态特征(属性)和动态特征(行为)两大特征。 类是一组同种对象的集合与抽象。即是具有相同属性和方法的一组对象集合。 2.Java语言的单继承是指什么? 一个类可以派生出多个子类,但子类只允许有一个父类,而不允许存在多个父类。 3.在一个共有类中的数据成员及方法成员的访问控制符为缺省,则这个类可供什么样的包引用? 当一个类的访问控制符为public共有时,表明这个类作为整体对其它类是可见和可引用的;但其数据成员和方法成员访问控制符为缺省时,它们只能被包中类(含当前类)引用。 4.抽象类的用途 (1)设计在更高的层次上进行,不考虑具体对象,从而大大简化了处理问题的复杂性; (2)设计出的类也具有更加良好的可扩展性。 5.什么是非静态的成员变量? 非静态成员即为实例成员变量(没有加static修饰的变量)。 6.异常Exception和错误Error有什么不同?Java如何处理它们? 答:错误通常是指程序本身存在非法情形,常常是因为代码存在问题而引起的,如造成系统崩溃、虚拟机粗错、动态失败等,这一类错误无法恢复或不可能捕获,并将导致应用程序中断。 异常表示另外一种“非同寻常”的错误。这种错误通常是不可预测,但可以被捕获且可以恢复。常见的异常情况包括存不足、找不到所需文件等。 对于错误,编程人员可以通过对程序进行更仔细的检查,以避免这种错误。 对于异常,可以使用捕获机制进行捕获,再编写出相应的处理程序。 7.简单述Java的异常处理机制。 答:Java采取“抛出—捕获”的方式,一旦一个异常想象产生,Runnable环境和应用程序会抛出各种标准类型和自己定义的异常,系统就可以捕获这些异常,并一定有相应的机制来处理它,确保不会产生司机、死循环或其它对操作系统的损害,从而保证了整个程序运行的安全性。 8.简单述throw语句和throws关键字之间的差别。 答:throw语句是在一个方法中用来直接抛出异常对象,其格式是: throw 异常对象; throws关键字是用一个方法声明首部,用来指出这个方法中可能产生若干种异常,其格式:[方法修饰符] 返回类型方法名(参数表)throws 异常类型表 { /*方法体*/ } 二、填空题 1.所有Java应用程序都必须包含的一个类方法是 main() 。 2.面向对象程序设计语言的三种重要特性是封装性、继承性和多态性。

面向对象试题(标准答案)

CoreJavaOOP考试题 考试时间:90分钟 考试总分:100分 一、选择题(不定项选择)(22*4=88) 1. 类A,B的定义如下: class A { private int a = 100; A() { System.out.print("A()"); System.out.println(a); } } class B extends A { private int a = 200; B() { System.out.print("B()"); System.out.println(a); } } 运行下面的代码: new B(); 输出的结果是:(A )。 A. A() 100 B() 200 B. A() 200 B() 200 C. B() 200 A() 100 D. B() 200 A() 200

2.下列说法正确的是(D ) A.所有类都必须定义构造方法(构造器) B.构造方法必须初始化类的所有数据成员 C.子类定义了构造器后,不再调用父类的构造器 D.构造方法可以访问类的非静态成员 3.在Java中,哪个关键字使类不能派生子类?, (A ) A : final B : public C : private D : native 4.class Base{ static void test(){ System.out.println(“Base.test()”); } } public class Child extends Base{ static void test(){ System.out.println(“Child.test()”); } public static void main(String[] args){ Base base = new Child(); Child child = new Child(); base.test(); child.test(); } } 程序运行的结果是( C ) A.Child.test() Child.test() B.Child.test() Base.test() C.Base.test() Child.test() D.Base.test() Base.test()

面向对象程序的设计C课后题答案

第一章:面向对象程序设计概述 [1_1]什么是面向对象程序设计? 面向对象程序设计是一种新型的程序设计范型。这种范型的主要特征是: 程序=对象+消息。 面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。 面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。 [1_2]什么是类?什么是对象?对象与类的关系是什么? 在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。对象可以认为是:数据+操作 在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。 类和对象之间的关系是抽象和具体的关系。类是多个对象进行综合抽象的结果,一个对象是类的一个实例。 在面向对象程序设计中,总是先声明类,再由类生成对象。类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。 [1_3]现实世界中的对象有哪些特征?请举例说明。 对象是现实世界中的一个实体,其具有以下一些特征: (1)每一个对象必须有一个名字以区别于其他对象。

(2)需要用属性来描述它的某些特性。 (3)有一组操作,每一个操作决定了对象的一种行为。 (4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。例如:雇员刘名是一个对象 对象名:刘名 对象的属性: 年龄:36 生日:1966.10.1 工资:2000 部门:人事部 对象的操作:吃饭开车 [1_4]什么是消息?消息具有什么性质? 在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。当对象接收到发向它的消息时,就调用有关的方法,执行相应的操作。消息是一个对象要求另一个对象执行某个操作的规格的说明,通过消息传递才能完成对象之间的相互请求或相互协作。消息具有以下3个性质: (1)同一个对象可以接收不同形式的多个消息,做出不同的响应。 (2)相同形式的消息可以传递给不同的对象,所做出的响应可以是不同的。(3)消息的发送可以不考虑具体的接收者,对象可以响应消息,也可以不响应。[1_5]什么是方法?消息和方法的关系是什么? 在面向对象程序设计中,要求某一对象作某一操作时,就向该对象发送一个响应的消息,当对象接收到发向它的消息时,就调用有关的方法,执行响应的操作。方法就是对象所能执行的操作。方法包括界面和方法体两部分。方法的界面也就是消息的模式,它给出了方法的调用协议;方法体则是实现某种操作的一系列计算步骤,也就是一段程序。在C++语言中方法是通过函数来实现的,称为成员函数。消息和方法的关系是:对象根据接收到的消息,调用相应的方法;反过来,有了方法,对象才能响应相应的消息。 [1_6]什么是封装和抽象?请举例说明。

面向对象面试题

面向对象面试题 1、什么是面向对象 面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP; 通俗的解释就是万物皆对象,把所有的事物都看作一个个可以独立的对象(单元),它们可以自己完成自己的功能,而不是像C那样分成一个个函数; 现在纯正的OO语言主要是java和C#,C++也支持OO,C是面向过程的。 2、简述private、protected、public、internal 修饰符的访问权限。 private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 当前程序集内可以访问。 3、https://www.wendangku.net/doc/757197133.html,中的五个主要对象 Connection:主要是开启程序和数据库之间的连结。没有利用连结对象将数据库打开,是无法从数据库中取得数据的。这个物件在https://www.wendangku.net/doc/757197133.html, 的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。 Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在Connection 对象上,也就是Command 对象是透过连结到数据源。 DataAdapter:主要是在数据源以及DataSet 之间执行数据传输的工作,它可以透过Comm and 对象下达命令后,并将取得的数据放入DataSet 对象中。这个对象是架构在Command 对象上,并提供了许多配合DataSet 使用的功能。 DataSet:这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来。DataSet 的能力不只是可以储存多个Table 而已,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet 对象可以说是https://www.wendangku.net/doc/757197133.html, 中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataAdapter对象当做DataSet 对象以及数据源间传输数据的桥梁。 DataReader:当我们只需要循序的读取数据而不需要其它操作时,可以使用DataReader 对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。因为DataReader 在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好。使用DataReader 对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。 https://www.wendangku.net/doc/757197133.html, 使用Connection 对象来连接数据库,使用Command 或DataAdapter对象来

java面向对象程序设计课后习题答案耿祥义张跃平主编清华大学出版社解析

习题解答 习题1 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件。 2)使用javac编译源文件,得到字节码文件。 3)使用解释器运行程序。 3.由类构成。不是必须的。 4.path=D:\jdk\bin; set classpath=D:\jdk\jre\lib\rt.jar;.; 5.B 6. Java源文件的扩展名是.java,Java字节码的扩展名是.class。 7.D。 8.A:Speak.java。 B:两个字节码文件,Speak.class和Xiti8.class。 C:java Xiti8。 D:执行java Speak的错误提示 Exception in thread "main" https://www.wendangku.net/doc/757197133.html,ng.NoSuchMethodError: main 执行java xiti8得到的错误提示 Exception in thread "main" https://www.wendangku.net/doc/757197133.html,ng.NoClassDefFoundError: xiti8 (wrong name: Xiti8) 执行java Xiti8.class得到的错误提示 Exception in thread "main" https://www.wendangku.net/doc/757197133.html,ng.NoClassDefFoundError: Xiti8/class 执行java Xiti8得到的输出结果 I'm glad to meet you (4) 9.属于操作题,解答略。 习题2 1. D 2.【代码1】【代码2】错误//【代码3】更正为float z=6.89F; 3.float型常量后面必须要有后缀“f”或“F”。 对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。4.public class Xiti4{ public static void main (String args[ ]){ char ch1='你',ch2='我',ch3='他'; System.out.println("\""+ch1+"\"的位置:"+(int)ch1);

c++面向对象程序设计课后习题答案

第一章5: #include using namespace std; int main() { cout<<"This"<<"is"; cout<<"a"<<"C++"; cout<<"program."< using namespace std; int main() { int a,b,c; a=10; b=23; c=a+b; cout<<"a+b="; cout<

7: #include using namespace std; int main() { int a,b,c; int f(int x,int y,int z); cin>>a>>b>>c; c=f(a,b,c); cout< using namespace std; int main() { int a,b,c;

cin>>a>>b; c=a+b; cout<<"a+b="< using namespace std; int main() {int add(int x,int y); int a,b,c; cin>>a>>b; c=add(a,b); cout<<"a+b="< using namespace std;

面向对象分析与及设计习题及答案

面向对象分析与及设计习题及答案 一、单项选择题 1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的 形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。 A. Simula67语言 B. Smalltalk语言 C. Java语言 D. 统一建模语言(UML)的标准 2. 面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。 A. Smalltalk B. Eiffel C. C++ D. Java 3.下列不属于面向对象技术的基本特征的是(B)。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与(C) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是(C)。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 6. (D)是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 7. (C) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图 和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之 间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统 中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 10. 使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 11.一个设计得好的OO系统具有(B) A. 低内聚、低耦合的特征 B. 高内聚、低耦合的特征 C. 高内聚、高耦合的特征 D. 低内聚、高耦合的特征 12.下面()不是UML的基本构成元素。(A) A. 控制语言 B. 基本构造块 C. 规则 D. 公共机制

java面向对象试卷及答案

java面向对象程序设计 系班级姓名成绩得分评卷人 一、填空题(每空2分,共20分) 1.Java源程序的扩展名是,经过编译后的程序的扩展名是。2.Socket通常也称为,用于描述和。3.线程的优先级在至之间,数值越大 4.构造方法是一种特殊的成员方法,构造方法名与相同 5.Java语言只允许单继承,指每个类只能有一个。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的() A、继承 B、流程控制 C、抽象 D、封装 2.以下关于执行Java小程序的论述错误的是:() A、可以通过浏览器调用嵌入了Java小程序的HTML文档 B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档 C、可以通过java.exe调用嵌入了Java小程序的HTML文档 D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档 3.符合对象和类关系的是:() A、人和老虎 B、书和汽车 C、楼和土地 D、松树和植物 4.关于选择结构下列哪个说法正确?() A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.一个if语句只能有一个else if语句与之对应 D.else if结构中必须有default语句 5.while循环和do…while循环的区别是:()

A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.do…while循环执行次数可能为0 D.while循环执行次数可能为0 6.关于for循环和while循环的说法哪个正确?() A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列修饰符中与访问控制无关的是() A.private B.public C.protected D.final 8.方法内的形参:() A.必须定义多个形参B.可以没有 C.至少有一个D.只能是简单变量 9.throws的作用:() A.表示方法可能会抛出例外 B.表示后面是方法的输出量 C.方法的标志,每个方法都必须有 D.没有意义 10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2 C.4 D.8 11.关于对象成员占用内存的说法哪个正确?() A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存 D.以上都不对 12.return语句:()

Java面向对象测试试题(经典)

《使用Java实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。 public class Test{ public void cal(int x, int y, int z) {} } A. public int cal(int x, int y, float z){ return 0; } B. public int cal(int x, int y, int z){ return 0; } C. public void cal(int x, int z){ } D. public void cal(int z, int y, int x){ } 4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数

面向对象课后题目解析

第 1 章 面向对象程序设计概论 面向对象程序设计教程(C++语言描述)题解与课程设计指导 第1章 面向对象程序设计概论

一、名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 二、填空题 (1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。 (2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。 (4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。 (5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。 三、选择题(至少选一个,可以多选)

(1)面向对象程序设计着重于( B )的设计。 A. 对象 B. 类 C. 算法 D. 数据 (2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做(C )。 A. 抽象 B. 继承 C. 封装 D. 多态 (3)在面向对象程序设计中,类通过( D )与外界发生关系。 A. 对象 B. 类 C. 消息 D. 接口 (4)面向对象程序设计中,对象与对象之间的通信机制是(C )。 A. 对象 B. 类 C. 消息 D. 接口 (5)关于C++与C语言的关系的描述中,(D )是错误的。 A. C语言是C++的一个子集 B. C语言与C++是兼容的 C. C++对C语言进行了一些改进 D. C++和C语言都是面向对象的 【结果分析】 C语言是面向过程的。C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。 (6)面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割的整体来处理。 A. 算法 B. 信息 C. 数据隐藏 D. 数据抽象 (7)下面( A )不是面向对象系统所包含的要素。 A. 重载 B. 对象 C. 类 D. 继承 【结果分析】

面向对象编程练习题库test

面向对象编程练习题库 t e s t Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

面向对象编程练习题 专题1 初识Java 一、填空题 1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是()、()、()。 2.环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为()、classpath 为()。 3.Java源文件的扩展名为(),用Javac编译Java源文件,得到的字节码文件的扩展 名为()。 4.如果Java源文件中有多个类,那么只能有一个类是()类。 二、选择题 1.作为Java应用程序入口的main方法,其声明格式是() A.public static int main(String args[]) B.public static void main(String args[]) C.public void main(String args[]) D.public int main(String args[]) 2.下面命令正确的是() A.java B.java AppFirst C.java D.javac AppFirst 3.设有一个Java小程序,源程序名为,其HTML文件为,则运行该小程序的命令为 () A.java FirstApplet B.javac C.appletviewer D.appletviewer 4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的()文件夹下。A.bin B.jre C.include D.doc 5.Java语言是一种语言。 A.机器B.汇编C.面向过程的D.面向对 象的 6、Java程序的最基本组成单位是( )。

面向对象期末测试题(带答案)

济南大学2009~2010 学年第二学期课程考试试卷 课 程 java 面向对象程序设计 授课教师 考试时间 考试班级 学 号 姓 名 题号 一 二 三 四 五 总 分 审核人 得分 一、填空题(每空2分,共20分) 1.Java 源程序的扩展名是 .java ,经过编译后的程序的扩展名是 .class 。 2.Socket 通常也称为 套接字 ,用于描述 IP 地址 和 端口 。3.线程的优先级在 1 至 10 之间,数值越大 优先级越高 4.构造方法是一种特殊的成员方法,构造方法名与 类名 相同 5.Java 语言只允许单继承,指每个类只能有一个 父类或子类 。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的 ( B ) A 、继承 B 、流程控制 C 、抽象 D 、封装 2.以下关于执行Java 小程序的论述错误的是: ( C ) A 、可以通过浏览器调用嵌入了Java 小程序的HTML 文档 B 、可以通过appletviewer .exe 调用嵌入了Java 小程序的HTML 文档 C 、可以通过java.exe 调用嵌入了Java 小程序的HTML 文档 D 、可以在Java 集成开发环境中调用嵌入了Java 小程序HTML 文档 3.符合对象和类关系的是: ( D ) A 、人和老虎 B 、书和汽车 C 、楼和土地 D 、松树和植物 4.关于选择结构下列哪个说法正确? (B ) A .if 语句和 else 语句必须成对出现 B .if 语句可以没有else 语句对应 … … …… …… …… …… …… … …… …装 …… …… …… … …… …订 …… …… …… … …… …线 …… …… …… … …… …… …… …… …

面向对象考试题

第五章考试题 一、选择题:(每题3分,共20题) 1.下面关于类的说法错误的一项是()。 A、类属于Java语言中的复合数据类型 B、对象是Java语言 中的基本结构单位 C、类是同种对象的集合和抽象 D、类就是对象 2.如下所示代码: public class Test05_01{ private float a; public static void m ( ){ } } 如何使成员变量a被方法m( )访问()。 A、将private float a改为public float a B、将private float a改为static float a C、将private float a改为protected float a D、将private float a改为float a 3.下面关于类的说法有误的一项是()。 A、类就是对象 B、类是同种对象的集合和 抽象 C、类属于Java语言中的复合数据类型 D、对象是Java语言 中的基本结构单位

4.下列哪种类成员修饰符修饰的变量只能在本类中被访问()。 A、protected B、default C、private D、public 5.下面关于方法的说法不正确的一项是()。 A、类的私有方法不能被其他类直接访问。 B、Java中的构造方法名必须和类名相同。 C、方法体是对方法的实现,包括变量声明和合法语句。 D、如果一个类定义了构造方法,也可以用该类的默认构造方法。 6.下列程序的运行结果是()。 public class Test05_02 extends x{ int ab(){ static int a = 10; a++; System.out.println(a); } public static void main(String[] args) { Test05_02 b = new Test05_02 (); b.ab(); } } A、10 B、编译错误 C、11 D、运行成功,但不输出

2_面向对象基础测试题和答案

共40道选择题,每题2.5分。多选题有错则全错,全对才满分. 面向对象部分测试题 1.下面描述函数重写错误的是C A.?要有子类继承或实现 ?B.?子类方法的权限必须大于等于父类的权限 C. 父类中被private权限修饰的方法可以被子类重写 D.?子类重写接口中的抽象方法,子类的方法权限必须是public的 2.关于封装下面介绍错误的是(D )。 A. 封装将变化隔离 B.?封装提高重用性。 C.?封装安全性 ?D. 只有被private修饰才叫做封装 3.试图编译运行下面的代码会发生什么情况D public class MyClass{ static int i; publicstaticvoid main(String[]args){System.out.println(i); } } ?A.?错误,变量i没有被初始化 ?B. 输出null C.?输出1 ?D. 输出0 4.在Java中,下面对于构造函数的描述正确的是( D)。 A. 类必须显式定义构造函数 B.构造函数的返回类型是void ?C.?构造函数和类有相同的名称,并且不能带任何参数

D.一个类可以定义多个构造函数 5.下面Java代码的运行结果是(C)。 class Penguin { ?private String name=null; // 名字 privateint health=0;//健康值 private String sex=null; //性别 publicvoid Penguin(){//是一般方法,不是构造方法 health = 10; ??sex = "雄"; ??System.out.println("执行构造方法。"); ?} public voidprint() { ??System.out.println("企鹅的名字是" +name + ?",健康值是"+ health + ",性别是"+ sex+"。"); ?} public staticvoidmain(String[] args){ ?Penguin pgn= new Penguin(); pgn.print(); } } A. 企鹅的名字是null,健康值是10,性别是雄。 B.?执行构造方法。 企鹅的名字是null,健康值是0,性别是null。 ?C.?企鹅的名字是null,健康值是0,性别是null。 D.?执行构造方法。 ?企鹅的名字是null,健康值是10,性别是雄。 6.class A { public int i = 10;?} class B extends A{

面向对象程序设计考试题库

面向对象程序设计期末综合练习一(单选题) 单选题 1. C++源程序文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. lik 2. 由C++源程序文件编译而成的目标文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. lik 3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. lik 4. 编写C++程序一般需经过的几个步骤依次是( )。 A. 编译、编辑、连接、调试 B. 编辑、编译、连接、调试 C. 编译、调试、编辑、连接 D. 编辑、调试、编辑、连接 5. 以下标识符中不全是保留字的是( )。 A. case for int B. default then while C. bool class long D. goto return char 6. 能作为C++程序的基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 7. 程序中主函数的名字为( )。 A. main B. MAIN C. Main D. 任意标识符 8. C++程序的基本模块为( )。 A. 表达式 B. 标识符 C. 语句 D. 函数 9. 可用作C++语言用户标识符的一组标识符是( )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 10. 存储以下数据,占用存储字节最多的是( )。 A. 0 B. …0? C. “0” D. 0.0 11. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a 的值是( )。 A. 12 B. 144 C. 156 D. 288 13. 假设在程序中 a 、b 、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc 1的表达式是( )。 A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c 14. 设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是( )。 A. 15 B. 26,15 C. 15,26 D. 26

面向对象基础测试题和答案

共40 道选择题,每题 2.5 分。多选题有错则全错,全对才满分. 面向对象部分测试题 1. 下面描述函数重写错误的是 C A. 要有子类继承或实现 B. 子类方法的权限必须大于等于父类的权限 C. 父类中被private 权限修饰的方法可以被子类重写 D. 子类重写接口中的抽象方法,子类的方法权限必须是public 的 2. 关于封装下面介绍错误的是( D )。 A. 封装将变化隔离 B. 封装提高重用性。 C. 封装安全性 D. 只有被private 修饰才叫做封装 3. 试图编译运行下面的代码会发生什么情况 D public class MyClass{ static int i; public static void main(String[] args){ System.out.println(i); } } A. 错误,变量i 没有被初始化 B. 输出null C. 输出1 D. 输出0 4. 在Java 中,下面对于构造函数的描述正确的是(D)。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数

D. 一个类可以定义多个构造函数 5. 下面Java 代码的运行结果是( C )。 class Penguin { private String name=null; // 名字 private int health=0; // 健康值 private String sex=null; // 性别 public void Penguin() { //是一般方法,不是构造方法health = 10; sex = " 雄"; System.out.println(" 执行构造方法。"); } public void print() { System.out.println(" 企鹅的名字是" + name + " ,健康值是" + health + " ,性别是" + sex+ " 。"); } public static void main(String[] args) { Penguin pgn = new Penguin(); pgn.print(); } } A. 企鹅的名字是null ,健康值是10 ,性别是雄。 B. 执行构造方法。 企鹅的名字是null ,健康值是0 ,性别是null 。 C. 企鹅的名字是null ,健康值是0 ,性别是null 。 D. 执行构造方法。 企鹅的名字是null ,健康值是10 ,性别是雄。 6. class A { public int i = 10; }

第9章 面向对象编程习题及答案

1、关于python类说法错误的是: A 类的实例方法必须创建对象后才可以调用 B 类的实例方法必须创建对象前才可以调用 C 类的类方法可以用对象和类名来调用 D 类的静态属性可以用类名和对象来调用 答案:B 2、如下类的定义,下列描述错误的是? class A(object): pass class B(A): pass b=B() A、i sinstance(b,A)==True B、isinstance(b,object)==True C、i ssubclass(B,A)==True D、i ssubclass(b,B)==True 答案:D 3、定义类如下 class Hello(): def __init__(self,name) https://www.wendangku.net/doc/757197133.html,=name def showInfo(self) print(https://www.wendangku.net/doc/757197133.html,) 下面代码能正常执行的: A、h = Hello h.showInfo() B、h = Hello() h.showInfo(‘张三’) C、h = Hello(‘张三’) h.showInfo() D、h = Hello(‘admin’) showInfo 答案:C 4、导入模块的方式错误的是: A、i mport mo B、from mo import * C、i mport mo as m D、i mport m from mo 答案:D 5、以下关于模块说法错误的是: A、一个xx.py就是一个模块 B、任何一个普通的xx.py文件可以作为模块导入

C、模块文件的扩展名不一定是 .py D、运行时会从制定的目录搜索导入的模块,如果没有,会报错异常答案:C 6、多重继承的执行顺序,请解答以下输出结果是什么?并解释。class A(object): def __init__(self): print('A') super(A, self).__init__() class B(object): def __init__(self): print('B') super(B, self).__init__() class C(A): def __init__(self): print('C') super(C, self).__init__() class D(A): def __init__(self): print('D') super(D, self).__init__() class E(B, C): def __init__(self): print('E') super(E, self).__init__() class F(C, B, D): def __init__(self): print('F') super(F, self).__init__() class G(D, B): def __init__(self):

相关文档
相关文档 最新文档