java面向对象试卷及答案汇总

更新时间:2024-04-21 07:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

java面向对象程序设计

系 班级 姓名 成绩 得分 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循环的区别是: ( ) 评卷人 一、填空题(每空2分,共20分) 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.1 B.2 C.4 D.8

11.关于对象成员占用内存的说法哪个正确? ( ) A.同一个类的对象共用同一段内存

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

12. return语句: ( )

A.只能让方法返回数值 B.方法都必须含有 C.方法中可以有多句return D.不能用来返回对象 13.下列说法哪个正确? ( ) A、一个程序可以包含多个源文件 B、一个源文件中只能有一个类 C、一个源文件中可以有多个公共类 D、一个源文件只能供一个程序使用

14.关于方法main()的说法哪个正确?( ) A. 方法main()只能放在公共类中 B. main()的头定义可以根据情况任意更改 C. 一个类中可以没有main()方法

D. 所有对象的创建都必须放在main()方法中 15.构造函数何时被调用? ( ) A、创建对象时 B、类定义时

C、使用对象的方法时 D、使用对象的属性时 16.抽象方法: ( ) A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法

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

17.关于继承的说法正确的是: ( ) A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性 D、子类只继承父类的方法,而不继承属性

18.关于构造函数的说法哪个正确? ( ) A、一个类只能有一个构造函数 B、一个类可以有多个不同名的构造函数 C、构造函数与类同名

D、构造函数必须自己定义,不能使用父类的构造函数 19.关于super的说法正确的是:( ) A、是指当前对象的内存地址

B、是指当前对象的父类对象的内存地址 C、是指当前对象的父类 D、可以用在main()方法中

20.覆盖与重载的关系是 ( )

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名 C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事

21.下列关于finally的说法正确的是? ( ) A.无论程序是否找到合适的例外控制器,都会去执行finally语句 B.finally语句应该放在所有例外控制器的最前面

C.如果程序在前面的例外控制器中匹配到了合适例外,就不再执行finally语句 D.如果程序在前面的例外控制器中匹配到了多个合适的例外,就不再执行finally语句 22. 对于已经被定义过可能抛出例外的语句,在编程时: ( ) A、必须使用try/catch语句处理例外,或用throws将其抛出 B.如果程序错误,必须使用 try/catch语句处理例外 C.可以置之不理

D.只能使用try/catch语句处理

23.下列哪个关键字用于实现接口 ( ) A.implements B.implement C. import D. imports 24.字符流与字节流的区别在于 ( ) A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同

25.下列流中哪个不属于字符流 ( ) A.InputStreamReader B.BufferedReader

C. FilterReader D. FileInputStream

三、程序阅读与填空题(每题6分,共30分) 1. 阅读程序给出结果

下列程序段用来计算Fibonacci序列的第0,1,2,…各项 public class Fibonacci {

public static void main(String args[]) {

System.out.println(\第4项=\ ); }

static int fib(int n) { if (n==0||n==1) { return n; } else {

int sum=fib(n-1)+fib(n-2); return sum; } } }

输出结果为:

2. 多线程CPU调度

// TwoThreads.java源代码如下: public class TwoThreadsDemo

{

public static void main(String[] args) {

new SimpleThread(\ ; new SimpleThread(\ ; } }

class SimpleThread extends Thread {

public SimpleThread(String str) {

super(str); }

public void run() {

for (int i=0;i<10;i++) {

System.out.println(i+\ try {

sleep((long)(Math.random()*1000)); }catch (InterruptedException e){} }

System.out.println(\ }}

3. 按注释提示完成文件复制的程序 //FileStream源代码如下: import java.io.*; class FileStream {

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

File inFile=new File(\指定源文件 File outFile=new File(\指定目标文件

FileInputStream fis= ; FileOutputStream fos=new FileOutputStream(outFile); int c;

//逐字节从源文件中输入,再输出到fos流 while((c=fis.read())!=-1)

; fis.close(); fos.close(); }

catch(Exception e) {

System.out.println(\ } } }

4. 阅读程序,给出结果 //B.java源代码如下: class A{

int x=100; }

class B extends A{ int x=200; void prt(){

System.out.println(\ System.out.println(\.x);

}

public static void main(String args[]){ new B().prt(); } }

输出结果是

5. 阅读程序,给出结果:

// AbstractClassDemo.java源代码如下:

abstract class Shape { //定义抽象类Shape和抽象方法display abstract void display(); }

class Circle extends Shape {

void display() { //实现抽象类的方法 System.out.println(\ } }

class Rectangle extends Shape {

void display() { System.out.println(“Rectangle”) //实现抽象类的方法 System.out.println(\ } }

class Triangle extends Shape {

void display() { //实现抽象类的方法 System.out.println(\ } }

public class AbstractClassDemo{

public static void main(String args[]){

(new Circle()).display(); //定义无名对象来调用对应的display方法 (new Rectangle()).display(); (new Triangle()).display(); } }

输出结果是:

JAVA面向对象 答案

一,填空

1. .java ; .class 2. 套接字;IP地址;端口 3. 1 ;10 优先级越高 4. 类名 5. 父类或子类 二、选择题

BCDBD BDBAC BCCCA CBCBA CAABD 三、程序阅读与填空题 1. 阅读程序给出结果

(1)fib(3) ; (2) 2 2. 多线程CPU调度

Run()(1) ; Run()(2) ; 3. 按注释提示完成文件复制的程序 (1) new FILEinputSream(infile) ; (2) fos.write(fis,0,c) ; 4. 阅读程序,给出结果

(1) 200 ; (2) 100 ; 5. 阅读程序,给出结果: (1) circle (2) rctanglee (3) triangle

本文来源:https://www.bwwdw.com/article/czxp.html

Top