面向对象技术Java 期末复习试卷(三)

合集下载

2012-2013java面向对象期末测试题(带答案)

2012-2013java面向对象期末测试题(带答案)

济南大学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 语句对应 …………………………………………装…………………………订…………………………线…………………………………………C.一个if语句只能有一个else if语句与之对应D.else if结构中必须有default语句5.while循环和do…while循环的区别是:(D)A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.do…while循环执行次数可能为0D.while循环执行次数可能为06.关于for循环和while循环的说法哪个正确?(B)A.while循环先判断后执行,for循环先执行后判断。

java语言程序设计期末考试试题及答案3

java语言程序设计期末考试试题及答案3

java语言程序设计期末考试试题及答案3一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. package答案:B2. 下列哪个方法用于获取数组的长度?A. length()B. size()C. count()D. getLength()答案:A3. 在Java中,下列哪个修饰符表示成员变量或方法是私有的?A. publicB. privateC. protectedD. static答案:B4. 下列哪个选项是Java语言中的一个合法标识符?A. 2variableB. variable2C. _variableD. variable$25. 在Java中,下列哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B6. 下列哪个选项是Java语言中正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. //* This is a single line commentD. /* This is a multi-line comment */答案:A7. Java中,下列哪个关键字用于定义一个类?A. interfaceB. classC. abstractD. package答案:B8. 下列哪个选项是Java语言中正确的继承关系?A. public class A extends BB. public class A implements BC. public class A implements interface BD. public class A extends interface B答案:A9. 在Java中,下列哪个关键字用于定义一个方法?B. methodC. functionD. void答案:D10. 下列哪个选项是Java语言中的一个合法的变量名?A. _nameB. name2C. $nameD. name答案:D二、填空题(每题2分,共20分)1. Java中,所有的类都是继承自________类。

面向对象技术Java 期末复习试卷(三)

面向对象技术Java 期末复习试卷(三)

期末复习试卷(三)一、单项选择题1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的源文件名是()A。

teststudent。

javaB。

teststudent 。

classC. TestStudent。

javaD. TestStudent。

class正确答案:C解析:一个java文件中可以包含多个类,但最多只能有一个类是公共类(public),该java文件的名字要与公共类的一致.2、关于下面的代码,哪个描述是正确的?public class Test{public static void main(String[]args){Integer n1 = new Integer(3);Object n2 = new Integer(4);System.out.println(pareTo(n2));}}A。

可以编译通过,可以运行,并得到预期结果.B。

可以编译通过,可以运行,但不能得到预期结果。

C。

可以编译通过,但又运行错误.D. 有编译错误。

正确答案:D解析:Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,提供了一些实用的方法(例如:在JavaFX中读取文本框内容是String类型的,如果要转换成int类型,就要调用Integer类的parseInt()方法)并实现了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T是泛型,对于Integer 类,T被替换为Integer,如下图:因此,Integer类中compareTo()方法的定义如下:因此,compareTo的参数只能是Integer类型的,所以代码中的下面语句中的n2的类型需要进行强制类型转换,由Object转为Integer:System。

out.println(pareTo(n2));正确写法如下:System.out.println(pareTo((Integer) n2));类似的包装类还有Long\Float\Double\Char\Boolean等,都是将基本数据类型包装为类。

Java面向对象程序设计期末复习试题(附解析)

Java面向对象程序设计期末复习试题(附解析)

JAVA面向对象程序设计复习试题+解析1)在JAVA编程中,关于Font下列()是正确的。

(选择两项)a)在我们的程序中可以使用Font类中定义的字体常量。

b)我们可以使用Tookit类中的函数来获取我们的机器中java所支持的字体的列表c)我们可以自己创建字体实例对象d)以上说明都正确【解析】参考答案:A BFont属于java.awt包中的一个类,专门用来设置程序中的字体实例对象。

创建Font类的对象时使用的方法:getFont(int face,int style,int size);例如:Font font = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font. SIZE_MEDIUM);无论哪一个参数,都只能使用系统设置的数值,这些数值具体的大小在不同的手机上可能不同。

下面对于其中的三个参数的取值做详细的介绍:face参数指字体的外观;style参数指字体的样式;size参数指字体的大小。

这三个参数都是系统中定义好的一些常量。

获得系统的默认字体:Font font = Font.getDefaultFont();ToolKit类是 Abstract Window Toolkit 的所有实际实现的抽象父类。

Toolkit 用于把各种组件绑定到特定的本地工具箱实现上。

该类有个方法getFontList()用于返回该工具箱中可用字体名。

也就是可以获取机器中java所支持的字体的列表。

2)在Java语言中,在包Package1中包含包Package2,类Class_A直接隶属于包Package1,类Class_B直接隶属于包Package2。

在类Class_C要应用Class_A的方法A和Class_B 的方法B,你需要()语句。

(选择两项)a)import Package1.*;b)import Package1.Package2.*;c)import Package2.*d)import Package2.Package1.*;【解析】A BJava语言中的包机制就像Windows中的文件夹,用来归类类文件的位置。

面向对象期末考试题及答案

面向对象期末考试题及答案

面向对象期末考试题及答案一、选择题(每题2分,共20分)1. 面向对象编程中的三大特性是?A. 封装、继承、多态B. 抽象、继承、封装C. 继承、封装、多态D. 封装、抽象、多态答案:A2. 在Java中,哪个关键字用于定义类?A. classB. structC. typeD. interface答案:A3. 以下哪个不是面向对象设计原则?A. 单一职责原则B. 开闭原则C. 里氏替换原则D. 模块化原则答案:D4. 在面向对象编程中,构造函数的作用是什么?A. 用于创建对象B. 用于销毁对象C. 用于实现继承D. 用于实现多态答案:A5. 以下哪个是Java中的访问修饰符?A. privateB. publicC. protectedD. 全部都是答案:D...(此处省略剩余选择题)二、简答题(每题10分,共30分)1. 简述面向对象编程的基本思想。

答案:面向对象编程是一种编程范式,它将现实世界中的实体抽象成对象,这些对象具有属性和行为。

面向对象编程的基本思想是将数据和处理数据的方法结合在一起,形成对象。

通过对象之间的交互来实现程序的功能。

2. 解释什么是多态性,并给出一个简单的例子。

答案:多态性是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。

例如,在Java中,可以通过重载和重写来实现多态。

假设有一个动物类Animal,它有一个方法makeSound()。

然后有一个子类Dog,它重写了makeSound()方法。

当我们创建一个Dog对象并调用makeSound()时,会执行Dog类中的makeSound()方法,而不是Animal类中的。

3. 什么是封装?封装的好处是什么?答案:封装是将对象的数据(属性)和行为(方法)组合在一起,并隐藏对象的内部细节,只暴露出一个可以被外界访问的接口。

封装的好处包括:保护数据、减少错误、提高代码的重用性、增强模块化。

三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的银行账户类Account,包含以下特性:- 私有属性:账户余额balance- 公共方法:存款deposit(double amount)、取款withdraw(double amount)、获取余额getBalance()答案:```javapublic class Account {private double balance;public Account() {this.balance = 0;}public void deposit(double amount) {if (amount > 0) {balance += amount;}}public void withdraw(double amount) {if (amount > 0 && balance >= amount) {balance -= amount;}}public double getBalance() {return balance;}}```2. 假设有一个名为Car的类,它有两个属性:品牌brand和颜色color。

JAVA语言与面向对象程序设计期末复习题

JAVA语言与面向对象程序设计期末复习题

JAVA语言与面向对象程序设计期末复习题2011年上(一)单项选择题(二) 1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。

A. 颜色B. 动态C. 状态D. 重量2.使用JDK编译ja v a程序时使用的命令是()。

A. javaB. javacC. appletviewerD. javadoc3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符()。

A. privateB. protectedC. publicD. static4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为()。

A. constB. finalC. staticD. class5.在程序中声明包的语句关键字为()。

A. volatileB. packC. importD. package6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为()。

A. catchB. throwC. throwsD. finally7.在类定义首部的语法格式中,()不能作为其中的修饰符。

A. publicB. protectdC. extendsD. abstract8.下列哪个类不是异常类的父类?()。

A. ErrorB. ThrowableC. ExceptionD. Object9.下面的关键字()与异常处理无关。

A. throwB. throwsC. importD. finally10.在读字节文件Employee.dat 时,使用该文件作为参数的类是()。

A. BufferedReaderB. DataInputStreamC. DataOutputStreamD. FileInputStream(二)填空题1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为________。

2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案3.doc

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案3.doc

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案2一、单选择题(每小题2分,共10分)1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B )。

A. .javaB. .classC. .htmlD. .exe2、设x = 1 ,y = 2,z = 3,则表达式y + =z--/++ x 的值是(A )。

A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户口定义的Applet子类中,一般需要重载父类的(D )方法來完成一些画图操作。

A. start()B. stop()C. init()D. paint()4、不允许作为类及类成员的访问控制符的是(C )。

A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法melhod书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。

A. static void method()B. public void method()C. final void method()D. abstract void method()二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主耍步骤为编辑源程序、编译生成字节码、和解释运行字节码。

2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为My Applet,则类MyApplet必须是Applet. 类的子类并且存储该源程序文件的文件名为MyApplet 。

3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为.class 的字节码文件。

4、在Java的基木数据类型中,char型采用Unicode编码方案,每个Unicode码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。

java面向对象程序设计期末考试题及答案

java面向对象程序设计期末考试题及答案

java面向对象程序设计期末考试题及答案一、单项选择题(每题2分,共20分)1. 在Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D3. 在Java中,哪个关键字用于创建对象?A. newB. createC. makeD. instantiate答案:A4. Java中的继承是通过哪个关键字实现的?A. extendsB. inheritC. deriveD. superclass答案:A5. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. abstract答案:A6. 下列哪个不是Java中的方法重载的条件?A. 方法名相同B. 参数列表不同C. 返回值类型不同D. 访问修饰符不同答案:C7. 在Java中,哪个关键字用于声明一个抽象方法?A. abstractB. virtualC. overrideD. final答案:A8. Java中的多态性可以通过哪种方式实现?A. 方法重载B. 方法覆盖C. 接口实现D. 继承答案:B9. 在Java中,哪个关键字用于声明一个内部类?A. innerB. nestedC. staticD. inner class答案:B10. Java中的垃圾回收机制是自动的吗?A. YesB. NoC. SometimesD. Depends on the JVM答案:A二、填空题(每题2分,共20分)1. Java中,一个类可以继承另一个类的______方法和属性。

答案:非私有2. Java中的______关键字用于声明一个类是不可被继承的。

答案:final3. 在Java中,______关键字用于声明一个类是抽象的。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案1. 试题一题目:什么是面向对象编程?请简要描述面向对象编程的优势和特点。

答案:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法进行了封装,使得程序更加模块化和易于理解。

面向对象编程的主要特点包括封装、继承和多态。

封装使得数据和对数据的操作集中在一个对象中,可以隐藏内部实现细节,提供公共的接口进行访问,增加了程序的安全性和灵活性。

继承允许新建的类继承已有类的属性和方法,通过扩展和重写已有类的功能,减少了代码的重复性,提高了代码的复用和可维护性。

多态允许不同的对象对相同的消息作出不同的响应,通过接口和抽象类的使用,实现了更加灵活和可扩展的程序设计。

面向对象编程的优势包括了代码的重用性、可维护性、可扩展性和灵活性。

通过封装和继承的应用,可以减少代码重复,提高开发效率,并且通过多态的应用,可以实现程序的灵活性,方便后续的扩展和修改。

2. 试题二题目:什么是类?请简要描述类的特点和组成部分。

答案:类是面向对象编程中的核心概念,是对一类具有相同属性和行为的对象进行抽象和封装的模板。

类是用来创建对象的蓝图,可以通过实例化类来创建对象。

类的特点包括了封装、继承和多态。

类通过封装将属性和方法进行了封装,提供了公共的接口与外部进行交互,隐藏了内部实现细节。

继承允许新建的类继承已有类的属性和方法,在原有基础上进行修改和扩展。

多态允许不同的对象对相同的消息作出不同的响应,实现了程序的灵活性和可扩展性。

类的组成部分包括了属性(Field)和方法(Method)。

属性(也称为成员变量)用于描述对象的状态,可以是基本类型或其他类的对象。

方法用于描述对象的行为,可以是处理属性的操作,也可以是其他业务逻辑的实现。

3. 试题三题目:请简要解释传值和传引用的区别,并用代码示例说明。

答案:传值和传引用是在方法调用时,参数传递的两种方式。

Java面向对象程序设计复习题附答案

Java面向对象程序设计复习题附答案

Java面向对象程序设计复习题一、选择题1、下列哪个是Java中的关键字(C )。

A、runB、IntegerC、defaultD、implement2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对(B )。

A、Applet是Container的一种B、Applet是Window的一种C、Applet是Component的一种D、Applet是Panel的一种3、下列类DataOutputStream的构造方法正确的是(A )。

A、new dataOutputStream(new FileOutputStream(“out.txt”));B、new dataOutputStream(“out.txt”);C、new dataOutputStream(new writer(“out.txt”));D、new dataOutputStream(new FileWriter(“out.txt”));4、在switch(表达式)语句中,表达式的类型不能为(C )。

A、byteB、charC、longD、int5、在接口MouseMotionListener中方法正确的是(A )。

A、Public void mouseDragged(MouseEvent)B、Public boolean mouseDragged(MouseEvent)C、Public void mouseDragged(MouseMotionEvent)D、Public boolean MouseDragged(MouseMotionEvent)6、下面是一些异常类的层次关系ng.Exceptionng.RuntimeExceptionng.IndexOutOfBoundsExceptionng.ArrayIndexOutOfBoundsExceptionng.StringIndexOutOfBoundsException假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。

JAVA面向对象程序设计(期末考试试题及答案)

JAVA面向对象程序设计(期末考试试题及答案)

程序设计(期末考试试题及答案)JAVA面向对象面向对象程序设计一、单选择题1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。

A.javaB..classC.htmlD..exe2、不允许作为类及类成员的访问控制符的是(C)。

A.publicB.privateC.staticD.Protected3、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。

A.3B.3.5C.4D.54、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。

A.static void method()B.public void method()C.final void method()D.abstract void method()5、下列属于容器的组件有:(B)A.JButton B.JPaneC.Canvas D.JTextArea6、v oid的含义:(C)A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值 D.方法的返回值不能参加算术运算7、关于Java中异常的叙述正确的是:(D)A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的8、下面哪个不是java语言中的关键字?(B)A.longB.sizeofC.instanceofD.Const9、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener10、以下有关类的继承的叙述中,正确的是:(D)A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。

JAVAoop期末考试试题加答案

JAVAoop期末考试试题加答案

JAVAoop期末考试试题加答案### JAVA面向对象编程期末考试试题及答案#### 一、选择题(每题2分,共20分)1. 在Java中,哪个关键字用于定义类?- A. class- B. public- C. static- D. void答案:A2. 下列哪个是Java的访问修饰符?- A. final- B. abstract- C. protected- D. native答案:C3. 以下哪个是Java中合法的类名?- A. 2Class- B. Class$- C. MyClass- D. class答案:C4. 以下哪个是Java中合法的方法名? - A. 123Start- B. start!- C. start- D. $start答案:C5. 以下哪个是Java中合法的变量名? - A. 2variable- B. variable!- C. variable- D. $variable答案:C6. Java中,哪个关键字用于实现接口? - A. class- B. implements- C. extends- D. abstract答案:B7. Java中,哪个关键字用于继承类? - A. class- B. extends- C. implements- D. abstract答案:B8. 下列哪个是Java集合框架中的接口?- A. ArrayList- B. List- C. LinkedList- D. HashMap答案:B9. Java中,哪个关键字用于定义抽象类?- A. class- B. abstract- C. final- D. static答案:B10. 下列哪个是Java集合框架中的具体实现类?- A. Set- B. List- C. ArrayList- D. Map答案:C#### 二、简答题(每题10分,共30分)1. 解释Java中封装的概念,并给出一个封装的类的例子。

java期末考试试题及其答案

java期末考试试题及其答案

java期末考试试题及其答案### Java期末考试试题#### 一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义Java接口?A. classB. interfaceC. packageD. import2. Java中,哪个类是所有Java类的根类?A. ObjectB. SystemC. StringD. Thread3. 以下哪个是Java中的控制流语句?A. switchB. forC. tryD. catch4. 在Java中,哪个关键字用于定义一个类是可序列化的?A. publicB. privateC. SerializableD. static5. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. HashMapD. Set#### 二、简答题(每题10分,共20分)1. 简述Java中的封装、继承和多态的概念。

2. 解释什么是Java异常处理机制,并说明try、catch、finally的作用。

#### 三、编程题(每题30分,共60分)1. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

2. 编写一个Java程序,实现一个学生管理系统,包含添加学生信息、删除学生信息、列出所有学生信息的功能。

#### 四、综合应用题(20分)编写一个Java程序,模拟一个简单的银行账户管理系统。

该系统应包含以下功能:- 创建账户- 存款- 取款- 显示账户余额- 账户信息的持久化存储(使用文件存储)### 答案#### 一、选择题1. B2. A3. A4. C5. B#### 二、简答题1. 封装:封装是将数据(属性)和操作数据的方法组合在一起的过程,对数据的访问和操作通过方法进行,以隐藏内部实现细节。

继承:继承允许一个类(子类)继承另一个类(父类)的属性和方法,子类可以扩展或修改父类的行为。

多态:多态是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案一、单选题(每题2分,共10分)1. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个关键字用于定义一个私有方法?A. privateB. publicC. protectedD. default答案:A3. 下列哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. static答案:D4. 在Java中,哪个关键字用于实现多态?A. abstractB. finalC. staticD. interface答案:A5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B二、多选题(每题3分,共15分)1. 在Java中,下列哪些关键字用于定义一个类的方法?A. publicB. privateC. protectedD. static答案:A, B, C, D2. 下列哪些关键字用于实现类的继承?A. extendsB. implementsC. abstractD. final答案:A3. 在Java中,下列哪些关键字用于定义类的成员变量?A. privateB. publicC. protectedD. static答案:A, B, C, D4. 下列哪些关键字用于定义类的构造方法?A. constructorB. thisC. newD. super答案:B, D5. 在Java中,下列哪些关键字用于定义接口的常量?A. privateB. publicC. staticD. final答案:B, C, D三、判断题(每题2分,共10分)1. Java中,一个类可以继承多个类。

(错误)2. Java中,接口可以继承接口。

(正确)3. Java中,一个类可以继承多个接口。

java面向对象试题及答案

java面向对象试题及答案

java面向对象试题及答案# Java面向对象试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?- A. class- B. interface- C. enum- D. package答案:A2. 以下哪个是Java中的继承特性?- A. 一个类可以继承多个类- B. 类可以继承接口- C. 接口可以继承类- D. 接口可以继承多个接口答案:D3. 以下哪个是Java中封装的体现?- A. 使用public关键字- B. 使用private关键字- C. 使用static关键字- D. 使用final关键字答案:B4. 在Java中,哪个关键字用于实现多态?- A. abstract- B. final- C. override- D. implements答案:C5. 以下哪个是Java的构造方法的特点?- A. 可以有返回类型- B. 可以有多个同名的构造方法- C. 必须有返回类型- D. 必须与类名相同答案:D二、简答题1. 简述面向对象编程的三大特性,并给出Java中的例子。

面向对象编程的三大特性是封装、继承和多态。

- 封装:封装是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。

例如,在Java中,可以通过使用private关键字来隐藏类的成员变量,只通过public方法来访问这些变量。

- 继承:继承允许新创建的类(子类)继承现有类(父类)的属性和方法。

例如,如果有一个`Animal`类,可以创建一个`Dog`类继承`Animal`类。

- 多态:多态允许同一个接口接受不同的数据类型。

在Java中,可以通过重写父类的方法来实现多态。

例如,`Animal`类有一个`makeSound()`方法,而`Dog`类可以重写这个方法来发出狗的叫声。

2. 解释Java中的接口和抽象类的区别。

接口和抽象类都是Java中实现抽象化的方式,但它们有以下区别: - 接口可以包含抽象方法和默认方法,但不能有具体实现。

java期末考试试卷及答案3

java期末考试试卷及答案3

java期末考试试卷及答案3学年学期期末考试卷卷课程《Java程序设计》考试时间: 120 分钟班级姓名学号一、填空题(15分,每空1分)1、Java平台包含_______________、Java应用程序接口两个部份。

2、Java语言的数据类型可分为_______________和复合数据类型。

3、布尔型数据的取值为_____________和_____________。

4、通常,Java中,类包括_______________、_______________和成员方法三个部分。

5、在子类构造器方法中,通过_______________调用父类中对应的构造器方法对从父类继承下来的成员进行初始化。

6、设x = 2 ,则表达式(+ +x )/3 的值是____________ 。

7、Java程序中的单行注释符是____________,多行注释符是/* */。

8、异常处理是由____________、____________和finally三个关键字所组成的程序块。

9、Java语言只允许单继承,指每个类只能有一个____________。

10、在Java语言中,所有的数组都有一个length属性,这个属性存储了该数组的_______________。

11、根据输入输出流中数据的类型,可将流分为_________和字符流。

12、要进行图形界面设计,需定义图形用户界面类,该类继承自_______________。

二、单项选择题(将正确答案的代号填在下表中相应题号下面,每题1.5分,共30分)1、关于Java语言叙述错误的是()A.Java语言具有跨平台性B.Java是一种面向对象的语言C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象2、以下有关构造方法的说法,正确的是()A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同3、定义一个类,必须使用的关键字是()A.public B.class C.interface D.static4.关于选择结构下列哪个说法正确?()A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句5.void的含义:()A.方法没有返回值B.方法体为空C.没有意义 D.定义方法时必须使用6.设有定义int i = 6 ;,则执行以下语句后,i 的值为( )。

吉林大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)试卷号3

吉林大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)试卷号3

吉林大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)一.综合考核(共50题)1.数组与向量的区别是()。

A.数组的长度固定B.数组元素的数据类型相同,可以是普通数据类型C.向量长度可变D.类型可不同,只能是对象的引用参考答案:ABCD2.下列哪个类声明是正确的()A.abstract final class Hl{…}B.abstract private move(){…}C.protected private number{…}D.public abstract class Car{…}参考答案:D3.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。

()A.错误B.正确参考答案:B4.下列关于修饰符混用的说法,错误的是()A.abstract不能与final并列修饰同一个类B.abstract类中不可以有private的成员C.static方法中能处理非static的属性D.abstract方法必须在abstract类中5.编译并且执行以下代码,会出现什么情况()。

?public?class?Q{?public?static?void?main(String?argv[]){?int?anar[]=new?int[]{1,2,3 };?System.out.println(anar[1]);?}?}A.1B.有错误,数组anar在初始化以前不能正常输出C.2D.有错误,数组的大小没有定义参考答案:C6.下列正确的表达式()。

A.double a=1,0B.Double a=new Double(1,0)C.byte a=340D.Byte a=120参考答案:AB7.类Teacher和Student是类Person的子类;Person p; Teacher t; Student s; //p, t and s are all non-null. if(t instanceof Person) { s = (Student)t; }最后一句语句的结果是()。

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

期末复习试卷(三)一、单项选择题1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的源文件名是()A. teststudent.javaB. teststudent .classC. TestStudent.javaD. TestStudent.class正确答案:C解析:一个java文件中可以包含多个类,但最多只能有一个类是公共类(public),该java文件的名字要与公共类的一致。

2、关于下面的代码,哪个描述是正确的?public class Test{public static void main(String[] args){Integer n1 = new Integer(3);Object n2 = new Integer(4);System.out.println(pareTo(n2));}}A. 可以编译通过,可以运行,并得到预期结果。

B. 可以编译通过,可以运行,但不能得到预期结果。

C. 可以编译通过,但又运行错误。

D. 有编译错误。

正确答案:D解析:Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,提供了一些实用的方法(例如:在JavaFX中读取文本框内容是String类型的,如果要转换成int类型,就要调用Integer类的parseInt()方法)并实现了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T是泛型,对于Integer类,T 被替换为Integer,如下图:因此,Integer类中compareTo()方法的定义如下:因此,compareTo的参数只能是Integer类型的,所以代码中的下面语句中的n2的类型需要进行强制类型转换,由Object转为Integer:System.out.println(pareTo(n2));正确写法如下:System.out.println(pareTo((Integer) n2));类似的包装类还有Long\Float\Double\Char\Boolean等,都是将基本数据类型包装为类。

3、下面哪种类型不是引用数据类型?()A. 数组B. charC. StringD. Object正确答案:B解析:基本数据类型只是存放数据,不提供功能(即方法)包括4类八种:布尔类型:boolean字符类型:char整数类型:byte, short, int, long浮点类型:float,double引用数据类型包括类、接口、抽象类、数组(本质上是类),引用类型可以提供功能。

注意:String是一个类,所以可以使用String s = new String("bistu")的方式创建对象;数组也是一个类,所以需要用new创建对象。

4、类Test要定义一个无参数、无返回值的方法method,并能够通过Test.method()的方式调用method方法,则method方法的定义形式为( )。

A. public static void method ( )B. public void method ( )C. public final void method ( )D. public abstract void method ( )正确答案:A解析:静态方法(也叫类方法)可以不创建对象,而直接通过类名调用。

5、下列关于接口说法正确的是( )。

A. 抽象类中的方法不全都是抽象的,因此可以创建对象。

B. 接口的引用既可以调用实现类重写的接口的方法,也可以调用实现类新增的方法。

C. 接口的实现类可以实现接口的部分方法。

D. 接口的方法都是抽象的,因此不可以创建对象。

正确答案:D解析:选项A的前半句是对的,后半句错了。

选项B前半句是对的,后半句不对。

示例如下:public interface GeometricObject{public double getArea();}public class Circle implements GeometricObject{public double getArea(){ .…. }public double getPerimeter(){ …… }}public TestCircle{public static void main(String[] args){GeometricObject c = new Circle();c.getArea(); //访问实现类覆盖接口的方法可以c. getPerimeter() //错误:不可以访问实现类新增的方法}}选项C错误,实现类必须实现接口的所有的抽象的方法。

6、将类的成员方法的访问权限设置为默认的,则该成员方法能被( )。

A. 同一包中的类访问B. 其他包中的类访问C. 所有的类访问D. 所有的类的子类访问正确答案:A解析:注意本题可以继续扩展,例如把访问权限换成public/private/protected。

7、下列哪个是Java应用程序主类中正确的main方法声明?( )A. public void main(String[] args)B. static void main(String[] ar)C. public static void Main(String a[])D. public static void main(String args[])正确答案:D8、有一段java应用程序,其中包含一个公共类,名字为Cat,那么保存它的源文件名是()A. Cat.javaB. Cat.classC. CatD. 都对正确答案:A与第1个选择题类似。

9、下列哪个是JDK提供的编译器?()A. java.exeB. javac.exeC. javap.exeD. javaw.exe正确答案:B10、某个源文件如下:public class TestPerson{}class Person{}class Student extends Person{}那么保存它的源文件名是()A. TestPerson.javaB. Person.javaC. Student.javaD. TestPerson.class正确答案:A参考第1、8题。

11、以下定义一位数组的语句中,正确的是()A. int a[5];B. int a[] =new [5];C. int a[];int a = new int[5];D. int a[] = {1,2,3,4,5};正确答案:D选项A:java中的数组是类,需要使用new关键字创建。

选项B:落类型了,正确写法为int a[] = new int[5];选项C:重复定义变量a,正确写法:int a[];a = new int[5];12、String类实现Comparable接口,覆盖其中的compareTo()方法。

下面哪个是正确的String类中被重写的compareTo()方法的方法头?A. public int compareTo(String o)B. public void compareTo(String o)C. public int compareTo(Object o)D. public void compareTo(Object o)正确答案:A解析:Comparable接口的定义如下:接口的实现类必须覆盖在接口中定义的抽象的方法,覆盖就意味在实现类中的方法要与在接口中定义的抽象方法同名、同参、同返回值。

13、将类的某个成员方法的访问权限设置为protected的,则下面说法正确的是()。

A. 同一包中的其他类不可以访问该方法B. 不同包中的子类可以访问该方法C. 所有包中的类都可以访问该方法D. 所有包中的类都不可以访问该方法。

正确答案:B14、下列哪一个类声明是错误的?( )A. class AB. public class AC. protected class AD. public abstract class A正确答案:C解析:类只能被默认或者public修饰符修饰,这是与成员变量和成员方法不一样的地方。

15、下面关于数组和集合的说法,哪一个是错误的?()A. 数组的长度一旦确定,不能修改;B. 集合的长度可变,但是效率比数组低;C. 数组和集合都属于引用类型;D. 数组使用泛型指明所存储的对象的类型。

正确答案:D解析:ArrayList是集合的一种类型。

集合使用泛型指明所存储的对象的类型。

16、下面代码有错误的行是:________。

1:public class Review1307{2:public static void main(String[] args){3:Number x = new Integer(3);4:System.out.println(x.intValue());5:System.out.println(pareTo(new Integer(4)));6:}7:}A. line 2B. line 3C. line 4D. line 5正确答案:D解析:(1)查JDK帮助文档,Number是Integer的父类,Number没有实现Comparable 接口,而子类Integer实现了Comparable接口,即子类Integer新增了compareTo()方法。

(2)x的声明类型是Number,实际类型是Integer,根据父类引用不能调用子类新增的方法的原则,x不可以直接调用compareTo()方法。

(3)如果需要修改代码中的错误,可以进行强制类型转换,如下:System.out.println(((Integer)x).compareTo(new Integer(4)));17、inta[] = {1,4,7,2,5,6,0},该数组第1个和最后1个元素的下标为哪一项?( )A. 0,7B. 1,6C. 0,6D. 1,7正确答案:C18、假设arr是一个int类型的二维数组,下面关于arr的声明和初始化,哪一项是错误的?( )A. int[][] arr = {{1,2},{3,4,5}};B. int[][] arr = new int[2][3];C. int[][] arr = new int[2][];D. int[][] arr = new int[][3];正确答案:D解析:Java的二维数组是由一维数组模拟的,示例如下:没有第一维,就不会有第二维,所以,创建数组的时候,不能只指明第二维,不指明第一维。

但可以仅指明第一维,不指明第二维,如选项C。

19、下面说法哪一个是错误的?()A. 构造方法的名称与类名一样。

相关文档
最新文档