面向对象原理与Java实践复习题集(2)

合集下载

面向对象原理与Java实践复习题集(2)

面向对象原理与Java实践复习题集(2)

面向对象原理与Java实践复习题集(2)一、单项选择题(请将所选择的答案号码填写在每小题中的圆括号内)1、下列(D)不是面向对象程序设计方法的特点。

A.抽象B.继承C.多态D.结构化2、下列关于Java语言特性的描述中,错误的是( D )。

A.支持多线程B.Java程序与平台无关C.Java程序可以直接访问Internet上的对象D.支持单继承与多继承3、编译并运行如下代码:Cpublic class TestIf {public static void main(String[] args){if(true)if(false)System.out.println("a");elseSystem.out.println("b");}}A.无法编译B.编译正常,输出字母aC.B.编译正常,输出字母b D.编译正常,但是不会输出任何字母4、关于以下代码,说法正确的是( D )。

public void test(int x){switch(x){case 1:case 2:case 3:default:case 4:}}A.变量x不具备switch表达式所需的类型B.每个case部分必须以break语句结尾C.default标签必须是switch语句中最后一个标签D.代码没有任何错误5、关于类和对象,以下说法错误的是( C )。

A.对象就是属性和操作相关属性的行为的集合,是类的具体化。

B.对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

C.类是各种对象的集合与抽象。

D.消息表示对象之间进行交互,以实现复杂的行为。

6、关于封装,以下说法错误的是(D )。

A.封装是指利用抽象数据类型将数据和基于数据的操作包装起来。

B.封装是把对象的属性和动作结合成一个独立的单位,并尽可能隐蔽对象的内部细节。

C.封装使类容易使用,且更加安全,不会去破坏类内的数据。

《面向对象程序设计JAVA语言程序设计》复习试题及答案

《面向对象程序设计JAVA语言程序设计》复习试题及答案

《面向对象程序设计JAVA语言程序设计》期末复习试题及部分答案一、单选题1.在下列概念中,Java语言只保留了DA.运算符重载B.结构和联合C.指针D.方法重载2.下列类定义中,不正确的是BA.class x { .... } B.static class x implements y1,y2 { .... }C.public class x extends Applet { .... } D.class x extends y { .... }3.下列语句序列执行后,k 的值是Bint m=3, n=6, k=0;while( (m++) < (- - n) ) ++k;i++先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。

如i=1,则表达式(i++)的值等于1,而i的值变为2。

++ii先自增1,再把自增后的值赋给表达式(++i)。

如i=1,则表达式(++i)的值等于2,i的值也为2,A.0 B.1 C.2 D.34.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0] = 7; B.i = i + 2 C.i++ - --j; D.a(0) = 66;5.Java语言的类间的继承关系是BA.多重的B.单重的C.线程的D.不能继承6.下列语句序列执行后,k 的值是Cint i=10, j=18, k=30;switch( j - i ) {case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A.31 B.3 C.2 D.337.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是CA.x > y || x > z B.z > ( y + x ) C.x != y D.x < y & ! ( x< z )8.下列修饰符中,定义类头时能使用的修饰符是CA.private B.static C.abstract D.protected 9.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是BA.x( int m){ ... } B.void x( int m){ ... }C.x( int m, int n){ ... } D.x( int h,int m,int n){ ... } 10.下列对封装性的描述中,错误的是 DA.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的11.下列关于包的描述中,错误的是BA.包是若干个类的集合B.包是一种特殊的类型C.包是使用package语句创建的D.包有有名包和无名包两种12.下列关于Applet程序的描述中,错误的是 CA.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中13.下列界面元素中,不是容器的是CA. Dialog B.Frame C.List D.Panel14.下列关于异常处理的描述中,错误的是DA.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理15.以下方法不属于迭代器(Iterator)接口所定义的方法的是DA.hasNext()B.next()C.remove()D.nextElement()16.主线程属于(C )A.守护线程B.Thread线程C.用户线程D.Runnable线程二、填空题1.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。

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

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

面向对象程序设计复习资料(一)单项选择题1.Java是一门()语言。

A. 机器B. 汇编C. 面向过程的高级D. 面向对象的高级2. 具有相同属性和服务的一组对象的共同模板称为()。

A. 程序B. 类C. 代码D. 概念3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为()。

A. privateB. protectedC. publicD. static4.Java语言中的switch语句属于()语句。

A. 数据输入B. 数据输出C. 分支处理D. 循环控制5.在类的定义中,实现接口的子句所使用的关键字为()。

A. extendsB. implementsC. publicD. abstract6.在派生类的定义中,继承父类的子句所使用的关键字为()。

A. extendsB. implementsC. publicD. abstract7.下列能表示栈(stack)s1长度的是( )。

A.s1.length()B.s1.lengthC.s1.sizeD.s1.size()8.下面的异常()为文件没有找到异常。

A. NullPointerExceptionB. FileNotFoundExceptionC. ArrayIndexOutOfBoundsExceptionD. IOException9.下列不是InputStream 类的子类的是()。

A. FileInputStreamB. ObjectInputStreamC、 FileOutputStream D. DataInputStream10.进行文件输入输出操作时,最常用的系统包是()。

A. B. java.ioC. java.utilD. java.awt11.类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

A. 产品B. 元素C. 成分D. 实例12.使用JDK运行Java程序时使用的命令是()。

java面向对象试题及答案

java面向对象试题及答案

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

java面向对象试题及答案(二)

java面向对象试题及答案(二)

java面向对象试题及答案(二)1. 什么是面向对象编程?- 面向对象编程(Object-Oriented Programming,OOP)是一种编程思想,它将现实中的事物抽象成对象,并通过对象之间的交互来完成程序的设计和实现。

2. 面向对象编程的特点有哪些?- 封装性:将数据和方法封装在一起,对外部隐藏实现细节,只提供公共接口。

- 继承性:通过继承可以实现代码复用,减少重复编写代码的工作量。

- 多态性:同一种方法可以有不同的实现方式,提高程序的灵活性和可扩展性。

3. 什么是类和对象?- 类是一种抽象的数据类型,它描述了一类事物的属性和行为。

- 对象是类的一个实例,具有该类所描述的属性和行为。

4. 什么是继承?- 继承是一种机制,它允许新的类在已有类的基础上进行扩展,从而实现代码的复用和扩展性的提高。

5. 什么是多态?- 多态是指同一个方法可以有不同的实现方式,具体的实现方式由调用该方法的对象决定。

6. 什么是重载和重写?- 重载是指在同一个类中定义多个同名方法,但参数列表不同,可以根据参数列表的不同来调用不同的方法。

- 重写是指在子类中重新定义父类中已有的方法,使得子类对象调用该方法时执行子类中的实现。

7. 什么是抽象类和接口?- 抽象类是一种不能被实例化的类,它只能被继承,用于定义一些抽象的方法和属性,子类必须实现这些抽象方法和属性才能被实例化。

- 接口是一种只包含抽象方法和常量的抽象类型,它定义了一些规范,子类必须实现这些抽象方法才能被实例化。

8. 什么是异常?- 异常是指程序在运行过程中出现的错误或意外情况,它会导致程序的中断或崩溃。

Java提供了异常处理机制,可以捕获和处理异常,保证程序的正常运行。

9. 什么是泛型?- 泛型是一种抽象的数据类型,它可以用来定义一种通用的类型,使得代码可以更加灵活和可扩展。

泛型可以在编译时检查类型安全,减少运行时错误。

10. 什么是反射?- 反射是指在程序运行时动态地获取类的信息,包括类的属性、方法和构造器等,可以在运行时动态地创建对象、调用方法和访问属性。

Java面向对象(二)习题

Java面向对象(二)习题

1、Java中用于定义接口的关键字是()A、importB、packageC、classD、interface2、以下关于abstract的说法,正确的是( )A、abstract只能修饰类B、abstract只能修饰方法C、abstract类中必须有abstract方法D、abstarct方法所在的类必须用abstract修饰3、下列哪种说法是正确的()A、私有方法不能被子类覆盖。

B、子类可以覆盖超类中的任何方法。

C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。

D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。

4、关于类继承的说法,正确的是()A、Java 类允许多重继承B、Java接口允许多继承C、接口和类都允许多继承D、接口和类都不允许多继承5、关于抽象类,正确的是______。

A. 抽象类中不可以有非抽象方法B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法C. 不能用抽象类去创建对象D. 接口和抽象类是同一个概念6、下列哪个类是由编译器自动生成对象的特殊类,是用于类操作?()A、Class类B、Thread类C、System类D、Object类7、下面关于继承的哪些叙述是正确的。

( )A、在java中只允许单一继承。

B、在java中一个类只能实现一个接口。

C、在java中一个类不能同时继承一个类和实现一个接口。

D、java的单一继承使代码更可靠。

8、抽象类A和抽象类B的定义如下:abstract class ex4_5_10_A {abstract int getinfo();}public class ex4_5_10 extends ex4_5_10_A {private int a = 0;public int getinfo() {return a;}public static void main(String args[]) {ex4_5_10 b = new ex4_5_10();System.out.println(b.getinfo());}}关于上述代码说明正确的是()。

Java面向对象程序设计模拟试题2及答案

Java面向对象程序设计模拟试题2及答案

Java面向对象程序设计模拟试题2一、单项选择题(本大题共15小题,每小题1分,共15分)1. JVM是指A. Java开发工具B. Java虚拟机C. Java运行环境D. Java编程接口2. Java字节码文件的扩展名是A. cB. exeC. javaD. class3. 在Java中,byte型变量所占的字节数是A. 1B. 2C. 4D. 84. 给定下面代码段,输出j的值是多少int i = 1, j = 0 ;switch(i) {case 1: j += 6;case 2: j += 1;default: j += 2;}System.out.println(j);A. 2B. 6C. 7D. 95. 给定下面代码段,程序运行结果是public class Test {static void leftshift(int i, int j){i <<= j;}public static void main(String[] args){int i = 4, j = 2;leftshift(i,j);System.out.println("i = "+ i);}}A. i = 1B. i = 2C. i = 3D. i = 46. 执行下列程序段后a和b的值为class AB{int a , b ;public void init(int x){a = x ;int b = 5 ;}public void display(){System.out.println("a = "+a+" b = "+b);}}public class ABTest{public static void main(String[] args){AB ab = new AB();ab.init(6);ab.display() ;}}A. a = 5 b = 5B. a = 0 b = 0C. a = 6 b = 5D. a = 6 b = 07. 下列程序段的运行结果为int [][]x ={{1,2},{3,4,5},{6,7,8,9}};int[][]y = x;System.out.println(y[2][1]);A. 3B. 4C. 6D. 78. 执行下列语句后输出的结果是String s = "COMPUTER";System.out.println(s.indexOf(‘M’));A. 0B. 1C. 2D. 39. 下面程序运行结果为class AA{AA(int a){System.out.print(a);}}class BB extends AA{BB(String s){super(88);System.out.print(s);}}public class ConstructorDemo{public static void main(String[] args){BB b = new BB("hello");}}A. 该程序有编译错误B. 88helloC. hello88D. hello10. 下面程序运行结果为class Super{public int i = 0;public Super(String text){i = 1;}}public class Sub extends Super{public Sub(String text){super(“”);i = 2;}public static void main(String[] args){Sub sub = new Sub("Hello");System.out.println(sub.i);}}A. 该程序有编译错误B. 编译成功输出0C. 编译成功输出1D. 编译成功输出211.下面代码在运行时会产生什么异常int m = 100;System.out.println(m / 0);A. ClassNotFoundExceptionB. MathExceptionC. ArithmeticExceptionD. NullPointerException12.有下列一段代码,执行后输出结果为。

2--java基础及面向对象试题

2--java基础及面向对象试题

JA V A基础1、变量命名有哪些规定?数字字母下划线$符号组成不可以使用保留字和关键字,数字不能开头2、指出下面程序中的编译错误,并更正int lenght = 10;System.out.println(length);int &size = 2; System.out.println(&size);int age ; System.out.println(age);3、指出下面程序运行输出结果int i = 100,j = 200;boolean b = (i>j)&&(i++>100);false 100System.out.println(b); System.out.println(i);4、指出下面运行输出结果int a =100;String msg = “a=”+a;100100System.out.ptintln(msg);msg = “”+100+200;System.out.ptintln(msg);100200msg = 100+200+””;System.out.ptintln(msg);3005、请简述for语句的执行流程for(表达式1;表达式2;表达式3){语句块}表达式一变量初始化,只执行一次,同时判断表达式2,如果为false 程序结束,如果为true 执行语句块,然后执行表达3,表达式2进行判断boolean值,同理可得如果为false 程序结束,如果为true 执行语句块,6、输出2-100之内的所有质数int count=0;for(var i=2;i<=100;i++){for(var j=2;j<i;j++){if(i%j==0){count++;}}if(count=0){ System.out.println(“为素数”)}}7、冒泡排序Int[] arr={1,2,3,4,5,6,7};For(var i=0;i<=arr.length-1;i++){for(vara=0;a<arr.length-1-x;a++){if(arr[y]>arr[y+1]){temp=arr[y];arr[y]=arr[y+1];arr[y+1]=temp}}} 8、随机生成长度为5的int类型的数组,并输出Int[] arr={0,1,2,3,4,5,6,7,8,9}; TreeSet tr=new TreeSet();while(tr.size()<5){int9、什么是类参考答案:类是一个概念(名词)抽象的定义。

Java面向对象程序设计试卷(二)

Java面向对象程序设计试卷(二)

Java语言程序设计试卷(二)一、单项选择(15分,每题1分)说明:将本题的所有答案填写在题后的表格内。

1、下面关于变量及其作用范围的陈述哪个是不对的?()A.实例变量是类的成员变量。

B.实例变量用关键字static声明。

C.在方法中定义的局部变量在该方法被执行时创建。

D.局部变量在使用前必须被初始化。

2、哪个是将一个十六进制值赋值给一个long型变量?()A.long number = 345L; B.long number = 0345;C.long number = 0345L; D.long number = 0x345L;3、下面的哪个赋值语句是不对的?()A.float f = 11.1; B.double d = 5.3E12;C.double d = 3.14159; D.double d = 3.14D;4、下面哪个是不合法的标识符?()A.$persons; B.TwoUsers;C.*point; D._endline;5、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()。

A、public static void main()B、public static void main(String[ ] args)C、public static int main(String[ ] args)D、public void main(String arg[ ])6、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序的特性称为()。

A、隐藏B、覆盖C、重载D、Java不支持此特性7、以下代码段执行后的输出结果为()。

int x=-3; float y=10.0f;System.out.println(y%x);A、不能成功编译B、-1.0C、1.0D、-18、下列关于构造方法的叙述中,错误的是()A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过new自动调用9、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问10、执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的()A.x[9]为0 B.x[9]未定义C.x[10]为0 D.x[0]为空11、类Test1定义如下:1. public class Test1{2.public float aMethod(float a, float b){ }3.4.}将以下哪种方法插入行3是不合法的。

面向对象考试复习大纲和题库最终2

面向对象考试复习大纲和题库最终2

⾯向对象考试复习⼤纲和题库最终2·⾯向对象考试复习⼤纲和题库:选择和填空:覆盖⾯:第⼀章Java语⾔简介(2-3分)第⼆章java编程基础(7-8分)第三章⾯向对象(2分)第13章类和对象(2-3分)第14-15章数组和字符串(6-8分)继承和多态(2-3分)接⼝(1-2分)GUI(3-5分)异常(1-2分)javaapplet(2-3分)多线程(2分)⼀、选择题(60题)-考试(15题,共15分)1.在JAVA编程中,Java编译器会将java程序转换为()。

a)字节码b)可执⾏代码c)机器代码d)以上所有选项都不正确2.在JAVA编程中,以下( b )命令⽤来执⾏java类⽂件。

a)javacb)javac)appletviewerd)以上所有选项都不正确3.在JAVA编程中,以下( c )命令能够将Java源⽂件转换为类⽂件。

a)appletviewerb)javac)javacd)以上所有选项都不正确4. MyProgram.Java被编译后,⽣成( b )。

a)MyProgram. Objb)MyProgram. classc)MyProgram.exed)MyProgram. bat5.下列选项中,属于Java语⾔的关键字的是()。

a)gotob)mallocc)extendd)FALSE6.在Java语⾔中,下⾯变量命名合法的有()。

a)variable123d)selg_,asd7. JAVA程序中,d()不能⽤来表⽰注释。

a)//注释b)/*注释*/c)/**注释*/d)/注释/8.在JAVA编程中,(a)可以实现跳转结构。

a)breakb)whilec)do-whiled)for9.以下的选项中能正确表⽰Java语⾔中的⼀个整型常量的是( b)。

A) 12. B) -20 C) 1,000 D) 4 5 610. 以下选项中,合法的赋值语句是( b )。

A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i );11. 若所⽤变量都已正确定义,以下选项中,⾮法的表达式是( c )。

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复习题集

-------------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线------------
(27)、编译运行以下程序后,关于输出结果的说明正确的是 ( C ): public class Conditional{ public static void main(String args[ ]){ int x=4; System.out.println(“value is “+ ((x>4) ? 99.9 :9)); } } A、 输出结果为:value is 99.99 B、 C、 D、 输出结果为:value is 9 输出结果为:value is 9.0 编译错误
(26)、main 方法是 Java Application 程序执行的入口点,关于 main 方法的方法 头以下哪项是合法的( B ): A、 B、 C、 D、 public static void main() public static void main(String[ ] args) public static int main(String[ ] arg) public void main(String arg[ ])
姓名___________________
(11)在 Java 中,能实现多重继承效果的方式是 (C) A)内部类 C)接口 B)适配器 D)同步

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

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

《面向对象程序设计J A V A语言程序设计》期末考试试题及部分答案2------------------------------------------作者------------------------------------------日期年~ 年上学期 《面向对象程序设计♉☺♋❖♋》期末考试试题一、选择题(每道题只有一个正确答案,每小题 分,共 分) 道题、关于☺♋❖♋语言叙述错误的是:(  )✍✍ ✌.☺♋❖♋语言具有跨平台性✍✍ .☺♋❖♋是一种面向对象的语言✍✍ .☺♋❖♋语言中的类可以多继承✍✍ .☺♋❖♋的垃圾收集机制自动回收程序已不再使用的对象、以下叙述正确的是:(  )的确台♋✍✍ ✌.构造方法必须是☐◆♌●♓♍方法✍✍ .❍♋♓⏹方法必须是☐◆♌●♓♍方法✍✍ .☺♋❖♋应用程序的文件名可以是任意的✍✍ .构造方法应该声明为❖☐♓♎类型、关于☺♋❖♋中数据类型叙述正确的是:(  )✍✍ ✌、整型数据在不同平台下长度不同✍✍ .♌☐☐●♏♋⏹类型数据只有 个值,♦❒◆♏和♐♋●♦♏✍✍ .数组属于简单数据类型✍✍ .☺♋❖♋中的指针类型和 语言的一样、设 ♓⏹♦ ⌧♐●☐♋♦ ⍓,则表达式 ⌧  ⍓的值是:(  ) ✌....以上都不是、以下语句有语法错的是:( ✌ )✌.♓⏹♦ ⌧;⍓; .♐☐❒ ☎♓⏹♦ ⌧⍓;⌧;⌧✆.♦♒♓●♏ ☎⌧✆.♐☐❒☎ ✆、关于类和对象的叙述正确的是:( ✌ )✍✍ ✌.☺♋❖♋的类分为两大部分:系统定义的类和用户自定义的类✍✍ .类的静态属性和全局变量的概念完全一样,只是表达形式不同✍✍ .类的成员至少有一个属性和一个方法✍✍ .类是对象的实例化、以下有关构造方法的说法,正确的是:( ✌ )✌.一个类的构造方法可以有多个.构造方法在类定义时被调用.构造方法只能由对象中的其它方法调用.构造方法可以和类同名,也可以和类名不同、以下有关类的继承的叙述中,正确的是:(  )✌.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 .子类只能继承父类的方法,不能继承父类的属性.子类只能继承父类的非私有属性,不能继承父类的方法.子类不能继承父类的私有属性、下列属于容器的组件有:(  )✌.☺ ◆♦♦☐⏹.☺ ♋⏹♏. ♋⏹❖♋♦.☺❆♏⌧♦✌❒♏♋、❖☐♓♎ 的含义:(  )✌.方法体为空.定义的方法没有形参.定义的方法没有返回值.方法的返回值不能参加算术运算、关于☺♋❖♋中异常的叙述正确的是:(  )✌.异常是程序编写过程中代码的语法错误.异常是程序编写过程中代码的逻辑错误.异常出现后程序的运行马上中止.异常是可以捕获和处理的、所有的异常类皆继承哪一个类?(  )✌. ♋❖♋♓☐☜⌧♍♏☐♦♓☐⏹. ♋❖♋●♋⏹♑❆♒❒☐♦♋♌●♏. ♋❖♋●♋⏹♑☜⌧♍♏☐♦♓☐⏹. ♋❖♋●♋⏹♑☜❒❒☐❒、下面哪个不是 ♋❖♋语言中的关键字?(  )✌.●☐⏹♑.♦♓♏☐♐.♓⏹♦♦♋⏹♍♏☐♐.♍☐⏹♦♦、为实现进程之间的通信,需要使用下列那种流才合适?( )✌. ♋♦♋ ♦♦❒♏♋❍.☞♓●♏ ♦♦❒♏♋❍. ◆♐♐♏❒♏♎ ♦♦❒♏♋❍. ♓☐♏♎ ♦♦❒♏♋❍、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?( )✌.✌♍♦♓☐⏹☹♓♦♦♏⏹♏❒. ☐◆♦♏☹♓♦♦♏⏹♏❒. ☐◆♦♏☐♦♓☐⏹☹♓♦♦♏❒⏹.✋♦♏❍☹♓♦♦♏⏹♏❒二、填空题(每空 分,共 分)、面向对象程序设计所具有的基本特征是:♉♉♉抽象性♉♉♉,♉封装性♉♉♉,♉继承性♉♉,♉多态性♉♉、数组⌧定义如下♓⏹♦ ⌧☯ ☯ ⏹♏♦ ♓⏹♦☯☯则 ⌧●♏⏹♑♦♒ 的值为♉♉♉♉♉♉♉♉♉♉♉♉,⌧☯●♏⏹♑♦♒ 的值为♉♉♉♉♉♉♉♉♉♉♉♉。

java面向对象编程题库及答案

java面向对象编程题库及答案

java面向对象编程题库及答案java认证考试正在紧张备考中,为帮助大家更好复习,为同学们带来最新java认证考试题库及答案,欢迎参考学习!要是某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以( A )A. 让该类不使用任何关键字B.使用private关键字C. 使用final关键字D.使用protacted关键字指出下面关于继承的哪些表达是正确的,说出理由。

(AD)A. 在java中只允许单一继承B. 在java中一个类只能实现一个接口C. 在java中一个类不能同时继承一个类和实现一个接口D. java的单一继承使代码更可靠4.7 指出下面关于垃圾收集的哪些表达是对的。

(B)A. 实例变量是类得成员变量B. 实例变量用关键字static声明C. 在方法中定义的局部变高了在该方法被执行时创立D. 局部变量在使用前必须被初始化4.8 根据下面给出的代码,判断那个表达是对的(C)Public class Person{static int arr[ ]=new int [10];public static void main(String a[]){System.out.println(arr[1];)}}A. 编译时将发生错误B.编译时正确但是运行时出错C. 输出为0D. 输出为null4.9 (1)一个类中定义的成员变量只能被同一包中的类访问。

下面的那些修饰符可以获得需要的访问控制。

(B)(2)如果类的设计要求它的某给成员变量不能被外部类直接访问。

应该使用下面的那些修饰符获得需要的访问控制。

(A)A.privateB.没有修饰符C. publicD.protected下面的你哪个java源文件代码片段是对的?说出理由(ACD)A.package testpackage;Public class Test{ //do something…}B.import java.io.*;package testpackage;Public class Test{ //do something…}C. import java.io.*;Class Person(//do something…);Public class Test{ //do something…}D. import java.io.*;import java .awt.*;Public class Test{ //do something…}解:选项A是正确的,选项B不对,因为java中的package语句必须是源程序中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于package语句之后,其他定义之前,选项C和D是正确的,因为一个源文件中可以有几个类,但最多只能有一个public的,如果有,那么源文件的文件名必须和该类的类名相同。

面向对象原理与Java实践复习题集附详细解释

面向对象原理与Java实践复习题集附详细解释

D.可通过同一类中定义同名方法即重载(overload)实现多态。 8、关于抽象类,以下说法错误的是( D )。
A.抽象类是指只能被继承而不能生成具体对象(即不能实例化)的类。 B.包含抽象方法的类是抽象类。 C.一个抽象类中可以有一个或多个抽象方法,但也可以没有抽象方法。 D.抽象类可以实例化,但这个实例化对象不能使用。 9、关于接口,以下说法错误的是( )。 A.接口用来表明一个类必须作什么,而不是规定它去如何作。 B.接口常用来指定类的协议(Protocol)。 C.接口本质上是抽象类。 D.接口中没有可以变动的数据成员(变量),只能有 final 类型的数据成员(常量)。 10、关于 final 修饰符,以下说法错误的是( )。 A.如果一个类的定义很完整,不需要再创建该类的子类,则这个类称为终极类。 B.在 Java 中,被定义成 final 的类,通常是用来完成某种标准操作,具有固定作用的类。 C.终极方法是指不能被子类重写的方法。 D.final 修饰变量时,那么变量的取值在整个程序中是不能改变的,亦即在整个程序中是不能被赋值的。 11、关于数组,以下说法错误的是( )。 A.在使用数组之前必须要初始化。 B.数组是作为对象来处理的,所有的数组对象都有 length 属性,用来记录数组中元素的个数。 C.数组是作为对象来处理的,所有的数组对象都有 length( )方法,用来获取数组中元素的个数。 D.使用 foreach 循环遍历数组时,无须获得数组和集合长度,无须根据索引来访问数组元素和集合元素,
(C) System.out.println((J_Base)app.mb_getString( )); (D) System.out.println(((J_Base)app).mb_getString( )); 25、将各选项的程序片段插入到下面程序片段的指定位置,结果会产生编译错误的有哪些? public class J_Test {

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语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。

面向对象笔试题 (2)

面向对象笔试题 (2)

一、填空题1 Java中一个类可以有一个父类。

2 如果一个类的声明中没有使用extends关键字,这个类被系统默认为是Object 类的子类。

3 子类自然地继承了其父类中不是private 的成员变量作为自己的成员变量。

4 当子类中定义的成员变量和父类中的成员变量同名时,子类的成员变量隐藏了父类的成员变量。

5 子类通过成员变量的隐藏和方法的重写可以把父类的状态和行为改变为自身的状态和行为。

6 对于重写或继承的方法,Java运行时系统根据调用方法的实例的类型来选择调用哪个方法。

7 对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类的方法。

8 对于子类创建的一个对象,如果子类继承了父类的方法,未重写,则运行时调用__父类____的方法。

9 在Java语言中多态性体现在由方法重载实现的静态多态性和重写实现的动态多态性。

10 final 类不能被继承,即不能有子类。

11 abstract 类不能创建对象,必须产生其子类,由子类创建对象。

12 如果一个方法被修饰为final 方法,则这个方法不能被重写。

13 对于abstract 方法,只允许声明,而不允许实现。

14 如果一个方法被修饰为final方法,则这个方法不能被重写。

15 如果一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。

16 局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字this 。

17 在关键字中能代表当前类或对象本身的是this 。

18 如果在子类中想使用被子类隐藏的父类的成员变量或方法可以使用关键字super 。

19 子类如果想用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字____super 来表示。

20 如果在子类中想使用被子类隐藏了的父类成员变量或方法就可以使用关键字super 。

21 Java中为了克服单继承的缺点,使用了接口,一个类可以实现多个接口。

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

面向对象原理与Java实践复习题集(2)一、单项选择题(请将所选择的答案号码填写在每小题中的圆括号内)1、下列(D)不是面向对象程序设计方法的特点。

A.抽象B.继承C.多态D.结构化2、下列关于Java语言特性的描述中,错误的是( D )。

A.支持多线程B.Java程序与平台无关C.Java程序可以直接访问Internet上的对象D.支持单继承与多继承3、编译并运行如下代码:Cpublic class TestIf {public static void main(String[] args){if(true)if(false)System.out.println("a");elseSystem.out.println("b");}}A.无法编译B.编译正常,输出字母aC.B.编译正常,输出字母b D.编译正常,但是不会输出任何字母4、关于以下代码,说法正确的是( D )。

public void test(int x){switch(x){case 1:case 2:case 3:default:case 4:}}A.变量x不具备switch表达式所需的类型B.每个case部分必须以break语句结尾C.default标签必须是switch语句中最后一个标签D.代码没有任何错误5、关于类和对象,以下说法错误的是( C )。

A.对象就是属性和操作相关属性的行为的集合,是类的具体化。

B.对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

C.类是各种对象的集合与抽象。

D.消息表示对象之间进行交互,以实现复杂的行为。

6、关于封装,以下说法错误的是(D )。

A.封装是指利用抽象数据类型将数据和基于数据的操作包装起来。

B.封装是把对象的属性和动作结合成一个独立的单位,并尽可能隐蔽对象的内部细节。

C.封装使类容易使用,且更加安全,不会去破坏类内的数据。

D.封装保障了数据的完整性和系统的独立性。

7、关于多态,以下说法错误的是( B )。

A.多态是指在一般类中定义的属性或动作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。

B.多态使得同一个属性或动作在一般类及其各个特殊类中具有相同的语义。

C.可通过子类对父类方法的重写(override)实现多态。

D.可通过同一类中定义同名方法即重载(overload)实现多态。

8、关于抽象类,以下说法错误的是( D )。

A.抽象类是指只能被继承而不能生成具体对象(即不能实例化)的类。

B.包含抽象方法的类是抽象类。

C.一个抽象类中可以有一个或多个抽象方法,但也可以没有抽象方法。

D.抽象类可以实例化,但这个实例化对象不能使用。

9、关于接口,以下说法错误的是(A )。

A.接口用来表明一个类必须作什么,而不是规定它去如何作。

B.接口常用来指定类的协议(Protocol)。

C.接口本质上是抽象类。

D.接口中没有可以变动的数据成员(变量),只能有final类型的数据成员(常量)。

10、关于final修饰符,以下说法错误的是( D )。

A.如果一个类的定义很完整,不需要再创建该类的子类,则这个类称为终极类。

B.在Java中,被定义成final的类,通常是用来完成某种标准操作,具有固定作用的类。

C.终极方法是指不能被子类重写的方法。

D.final修饰变量时,那么变量的取值在整个程序中是不能改变的,亦即在整个程序中是不能被赋值的。

11、关于数组,以下说法错误的是( A )。

A.在使用数组之前必须要初始化。

B.数组是作为对象来处理的,所有的数组对象都有length属性,用来记录数组中元素的个数。

C.数组是作为对象来处理的,所有的数组对象都有length( )方法,用来获取数组中元素的个数。

D.使用foreach循环遍历数组时,无须获得数组和集合长度,无须根据索引来访问数组元素和集合元素,foreach循环会自动遍历数组。

12、关于二维数组,以下说法错误的是( B )。

A.二维数组可以静态初始化。

B.二维数组不可以动态初始化。

C.可以将一个二维数组看成是由多个一维数组组成的。

D.在有些具体的应用中,每行元素的个数不是相等的,Java允许生成具有不同长度的多维数组。

13、关于字符串,以下说法错误的是( B )。

A.在Java语言中,字符串是抽象的数据类型,只能使用对象表示字符串。

B.字符串类String用于创建字符串对象,并且创建的字符串的值在程序运行中可以被改变。

C.调用字符串类String的charAt(int index)方法可以获取指定位置的字符。

D.当需要改变字符串的值时,可使用StringBuffer类。

14、关于Java集合框架,以下说法错误的是( C )。

A.List接口的实现类可以存储一组不唯一(允许重复)、有序(插入顺序)的对象。

B.set接口的实现类可以存储一组唯一(不允许重复)、无序(插入顺序)的对象。

C.Collection接口的实现类可以存储一组不唯一(允许重复)、无序(插入顺序)的对象。

D.Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作。

键和值要求有序(插入顺序)、唯一(不允许重复)。

15、关于GUI程序设计,以下说法错误的是(D )。

A.Swing组件都是AWT的Container类的直接子类或间接子类。

B.每个容器都有一个默认的布局管理器。

C.当容器被创建后,可以通过特定的方法改变容器的布局管理器。

D.JPanel可以作为一个顶层容器使用。

16、关于事件处理机制,以下说法错误的是( A )。

A.在事件处理的过程中,主要涉及二类对象:事件、事件源。

B.不同的事件源上可能发生不同的事件。

C.同一个事件源上可能发生多种事件。

D.事件源可以把在其自身所有可能发生的事件分别授权给不同的事件处理者来处理。

17、关于事件处理,以下说法错误的是(D )。

A.事件的处理由事件处理程序完成。

B.当事件对象生成时,AWT事件处理系统就会将这个事件对象传递给所涉及的组件,由它们的事件处理程序进行相应处理。

C.事件的授权处理模型是指不同的事件,可以交由不同类型的监听器去处理。

D.事件监听程序须定义在组件所在的类中。

18、关于异常处理机制,以下说法错误的是( D )。

A.Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给Java运行时系统,这个过程称为抛出(throw)异常。

B.当Java运行时系统接收到异常对象时,会寻找处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。

C.Exception类是所有异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显式的声明或捕获。

D.内存溢出是一种Java异常。

Error19、关于输入输出流,以下说法错误的是( C )。

A.简单地说,流(Stream)是通过一定的传播路径从源传递到目的地的字节序列。

B.所有的字节流类都是InputStream抽象类和OutputStream抽象类的子类。

C.如果想一次读取一行字符时,可使用BufferReader类。

EdD.随机文件访问类RandomAccessFile是一种I/O流类。

20、关于线程,以下说法错误的是( D )。

太难了A.线程是程序中单个顺序的流控制,是最小的执行单位。

B.同类的多个线程共享一块内存空间和一组系统资源。

C.多线程是指在一个程序中可以定义多个线程并同时运行它们,每个线程可以执行不同的任务。

D.创建线程类一般有两种方法:一种方法是通过继承线程类Thread来创建线程类;另一种方法是建立一个Runnable接口的子类来创建线程。

] 线程本身并不是程序,而是一个程序内部的顺序控制流,它自己本身并不能运行,必须在程序中运行,所以选项A错误。

对于进程而言,每个进程都有自己独立的一块内存空间、一组系统资源。

而线程不同于进程,多个线程共享一块内存空间和一组系统资源,所有选项B错误。

多线程指在一个程序中可以定义多个线程并同时运行它们,每个线程可以执行不同的任务,即在同一个程序中多行语句同时执行,而不是多次启动一个程序,所以选项D错误。

多线程是针对一个程序而言的,代表着一个程序内部可以同时执行的线程个数。

只有选项C叙述正确。

21、关于下面的代码,哪些结论是正确的?class J_SuperClass {J_SuperClass( ) {}}class J_SubClass extends J_SuperClass {}BD(A) 类J_SubClass的构造方法具有public属性(B) 类J_SubClass的构造方法不含参数(C) 类J_SubClass的构造方法包含调用this( )(D) 类J_SubClass的构造方法包含调用super( )22、下面哪些选项的语句置于指定的位置会导致程序输出“sub”?Dclass J_Base {}class J_SubClass extends J_Base {public String mb_getString( ) {return(“Sub”);}}class J_Test {public static void main(String[] args) {J_Base app = new J_SubClass( );// 选项语句插入的位置}}(A) System.out.println(app.mb_getString( ));(B) System.out.println((J_Base)app.mb_getString( ));(D) System.out.println(((J_SubClass)app).mb_getString( ));23、下面哪些选项的语句置于指定的位置会导致程序输出“sub”?ADclass J_Base {public String mb_getString( ) {return(“Base”);}}class J_SubClass extends J_Base {public String mb_getString( ) {return(“Sub”);}}class J_Test {public static void main(String[] args) {J_Base app = new J_SubClass( );// 选项语句插入的位置}}(A) System.out.println(app.mb_getString( ));(B) System.out.println((J_Base)app.mb_getString( ));(C) System.out.println((J_SubClass)app.mb_getString( ));(D) System.out.println(((J_SubClass)app).mb_getString( ));24、下面哪些选项的语句置于指定的位置会导致程序输出“Base”?无class J_Base {public String mb_getString( ) {return(“Base”);}}class J_SubClass extends J_Base {public String mb_getString( ) {return(“Sub”);}}class J_Test {public static void main(String[] args) {J_Base app = new J_SubClass( );// 选项语句插入的位置}}(A) System.out.println(super().mb_getString( ));(B) System.out.println((J_Base)app.mb_getString());(C) System.out.println((J_Base)app.mb_getString());25、将各选项的程序片段插入到下面程序片段的指定位置,结果会产生编译错误的有哪些?Bcdpublic class J_Test {public long mb_sum(long a, long b) {return a + b;}// 选项语句插入的位置}(A) public int mb_sum(int a, int b) { return a + b; }(B) public int mb_sum(long a, long b) { return a + b; }(C) abstract int mb_sum( );(D) private long mb_sum(long a, long b) { return a + b; }26、假设在Java源程序文件“MyClass.java”中只含有一个类,而且这个类必须能够被位于一个庞大的软件系统中的所有Java类访问到,那么下面哪些声明有可能是符合要求的类声明?D(A) private class MyClass extends Object(B) public class myclass extends Object(C) public class MyClass(D) public class MyClass extends Object27、下面的程序输出是什么?class J_Class {static int m_data = 0;}class J_Test {public static void main(String[] args) {J_Class a = new J_Calss();J_Class b = new J_Calss();a.m_data = 1;b.m_data = 2;System.out.println(a.m_data);}}(A) 0 (B) 1 (C) 2 (D) 上面的程序含有编译错误28、关于下面的程序,哪些结论是正确的?public class J_Test {public static void main(String[] args) {int[] a =new int[5];a.length =10;System.out.println(a.length);}}(A) 程序可以通过编译并正常运行,结果输出“10”(B) 程序可以通过编译并正常运行,结果输出“5”(C) 程序无法通过编译(D) 程序可以通过编译,但无法正常运行29、假设已经定义了变量“String s = “String”;”,则下面哪些语句可以通过编译?(A) int a = s.length( ); (B) int b = s.length; (C) char c = s[3]; (D) s += 3;30、已知定义了两个变量String s1 = “ja”;String s2 = “va”;下面哪些变量与字符串直接量“java”指向同一个实例对象?(A) String a = “ja” + “va”;(B) String b = new String(“java”);(C) String c = “java”.toString( );(D) String d = s1 + s2;31、下面的程序输出是什么?class J_StringBuffer {static void mb_operate(StringBuffer x, StringBuffer y) {x.append(y);y = new StringBuffer(“AB”);}public static void main(String[] args) {StringBuffer a = new StringBuffer(“A”);StringBuffer a = new StringBuffer(“B”);mb_operate(a, b);System.out.println(a + “.” + b);}}(A) A.B (B) A.A (C) AB.AB (D) AB.B32、下面哪些方法定义置于指定位置不会产生编译错误?class J_SuperClass {public void mb_method(int i) {}}public class J_Test extends J_SuperClass {//选项方法定义插入位置public static void main(String[] args) {}}(A) void mb_method(int i) throws Exception { }(B) void mb_method(long i) throws Exception { }(C) void mb_method(long i) { }(D) public void mb_method(int i) throws Exception { }33、下面哪些语句不含编译错误?(A) File f = new File(“/”, “run.bat”);(B) DataInputStream f = new DataInputStream(System.in);(C) OutputStreamWriter f = new OutputStreamWriter(System.out);(D) RandomAccessFile f = new RandomAccessFile(“data.txt”);34、用“new FileOutputStream(“data.txt”,true)”创建一个FileOutputStream实例对象,则下面哪些说法是正确的?(A) 如果文件“data.txt”存在,则将抛出IOException异常(B) 如果文件“data.txt”不存在,则将抛出IOException异常(C) 如果文件“data.txt”存在,则将覆盖掉文件中已有的内容(D) 如果文件“data.txt”存在,则将在文件的末尾开始添加新内容。

相关文档
最新文档