面向对象考试题

合集下载

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

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

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() 100B() 200B.A() 200B() 200C.B() 200A() 100D.B() 200A() 2002.下列说法正确的是(D )A.所有类都必须定义构造方法(构造器)B.构造方法必须初始化类的所有数据成员C.子类定义了构造器后,不再调用父类的构造器D.构造方法可以访问类的非静态成员3.在Java中,哪个关键字使类不能派生子类?, (A )A : finalB : publicC : privateD : native4.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()5.下列哪些叙述是正确的(CD )A.在一个类中,方法不能与类名相同B.a bstract 可以修饰属性、方法和类C.实例方法可直接调用本类的static方法和非static方法D.static方法不能调用非static方法6.以下说法正确的是(ABC)A.子类不能继承父类的构造方法B.子类的构造方法可以访问父类的构造方法C.子类不可直接访问父类的私有属性D.子类可以重写父类的所有方法7.分析选项中关于Java中this关键字的说法正确的是( A )A.this关键字是在对象内部指代自身的引用B.this关键字可以在类中的任何位置使用C.this关键字和类关联,而不是和特定的对象关联D.同一个类的不同对象共用一个this8 下列关于继承的说法哪个是正确的?( B )A.子类只继承父类public方法和属性B.子类继承父类的非私有属性和方法C.子类只继承父类的方法,而不继承父类的属性D.子类将继承父类的所有属性和方法9.在Java中,关于final关键字的说法正确的是(AC )A.final修饰的变量,一旦赋值就不能被更改B.final修饰的类只能被一个子类继承C.final修饰的方法,不能在子类中被覆盖D.final修饰的方法,不能被子类继承10. String s=new String(“xyz”)创建了几个对象(C);A. 0B. 1C. 2D. 311.下列语句的序列执行后,k的值是( B )int m=3,n=6,k=0;While((m++)<(--n))++k;A.0B.1C.2D.312.下列哪一项不是面向对象的典型特征(D )A.封装 B.继承C. 多态D.抽象13.(多选)在java中,关于构造方法,下列说法正确的是(ABD )A.构造方法的名称必须与类名相同B.构造方法可以带参数C.构造方法不可以重载D.构造方法绝对不能有返回值14.下面关于变量的说法正确的是(BC )A.实例变量可以通过类名直接调用B.类变量可以通过类名直接调用C. Java中的参数传递都是值传递D. 在不同的作用域不能定义相同的变量15.下列代码有编译错误的是第(C )行1)public class Test{2)public static void main(String[] args){3)int[] arr1 = new int[12];4)char[] arr2 = new char[];5)int[] arr3 = {};6)Object[] obj = new Object[4];7)Object obj1 = new object[9];8)}9)}A.5)B.5) 7)C.4) 7)D.4)16.下列代码的运行结果是(A )public class Test{private int num;private static Test test;public Test(int num){this.num = ++ num;}static{int num = 16;test = new Test(num);++ test.num;}public static void main(String[] args){test = new Test(13);System.out.println(test.num);}}A.14B.15C.16D.1717.仔细分析下列代码,请指出错误的行(D )。

C++面向对象程序设计语言期末考试试卷

C++面向对象程序设计语言期末考试试卷

C++面向对象程序设计语言期末考试试卷一.选择题(每题1分,共10分)1.在C++中,常量’C’和”C”两者________。

A)完全不同B)存储长度相同C)类型相同D)存储值相同2.有二维字符数组char s[4][6]={“zhang”,”gao”,”tang”,”wang”},执行程序cout<<*s[2],屏幕上显示________。

A)gao B)tang C)g D)t3.若w=1,x=2,y=3,z=4,则条件表达式w>x?w:z>y?z:x的结果为_______。

A)4 B)3 C)2 D)14.设a和b为整型变量,执行语句b=(a=2+3,a*4),a+5;后a和b的值为_______。

A)5,10 B)20,25 C)5,25 D)5,205.如果整型变量a,b,c的值分别为5,4,3,则语句if(a>=b>=c) c++;执行后c的值是______。

A)5 B)4 C)3 D)2int i=10;执行下列语句后,i的值是_______。

{case 9: i+=1;case 10: i+=1;case 11: i+=1;case 12: i+=1;}A)10 B)11 C)12 D)136.执行以下程序:#include<iostream.h>void main(void){char c=0; cout<<c<<’\n’;}输出的结果是________。

A) ‘\0’B)语法错C)0 D) 一个空行7.设有类型说明:enum color{red,yellow=3,white,black};则执行语句cout<<white<<’\n’;后输出的结果是________。

A) 4 B) 3 C) 2 D) 18.对于下面的几个函数:void f(int x){……}//1int f(int y){……}//2int f(int i,int j){……}//3float k(int x) {……}//4_______是重载函数。

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

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

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案一、单选题1.在下列概念中,Java语言只保留了DA.运算符重载B.结构和联合C.指针D.方法重载2.下列类定义中,不正确的是BA.cla某{....}B.taticcla某implementy1,y2{....}D.cla某e某tendy{....} C.publiccla某e某tendApplet{....}3.下列语句序列执行后,k 的值是Bintm=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.0B.1C.2D.34.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0]=7;B.i=i+2C.i++---j;D.a(0)=66;5.Java语言的类间的继承关系是BA.多重的B.单重的C.线程的D.不能继承6.下列语句序列执行后,k的值是Cinti=10,j=18,k=30;witch(j-i){cae8:k++;cae9:k+=2;cae10:k+=3;default:k/=j;}A.31B.3C.2D.337.设有定义float某=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是CA.某>y||某>zB.z>(y+某)C.某!=yD.某<y&!(某<z)8.下列修饰符中,定义类头时能使用的修饰符是CA.privateB.taticC.abtractD.protected9.设i、j、k为类某中定义的int型变量名,下列类某的构造函数中不正确的是BA.某(intm){...}B.void某(intm){...}D.某(inth,intm,intn){...}C.某(intm,intn){...}10.下列对封装性的描述中,错误的是DA.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的11.下列关于包的描述中,错误的是BA.包是若干个类的集合B.包是一种特殊的类型D.包有有名包和无名包两种C.包是使用package语句创建的12.下列关于Applet程序的描述中,错误的是CA.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中13.下列界面元素中,不是容器的是A.DialogB.FrameCC.LitD.Panel14.下列关于异常处理的描述中,错误的是DA.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理15.以下方法不属于迭代器(Iterator)接口所定义的方法的是D A.haNe某t()B.ne某t()16.主线程属于A.守护线程C.remove()D.ne某tElement()(C)B.Thread线程C.用户线程D.Runnable线程二、填空题1.2.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。

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

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

面向对象程序设计期末综合练习一(单选题)单选题1. C++源程序文件的缺省扩展名为( )。

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

A. cppB. exeC. objD. lik3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( )。

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

A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接5. 以下标识符中不全是保留字的是( )。

A. case for intB. default then whileC. bool class longD. goto return char6. 能作为C++程序的基本单位是( )。

A. 字符B. 语句C. 函数D. 源程序文件7. 程序中主函数的名字为( )。

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

A. 表达式B. 标识符C. 语句D. 函数9. 可用作C++语言用户标识符的一组标识符是( )。

A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof10. 存储以下数据,占用存储字节最多的是( )。

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

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a 的值是( )。

A. 12B. 144C. 156D. 28813. 假设在程序中 a 、b 、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc1的表达式是( )。

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

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

c面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是面向对象程序设计的特点?A. 封装B. 继承C. 多态D. 所有选项都是2. 在Java中,以下哪个关键字用于定义类?A. classB. structC. typeD. classdef3. 以下哪个是Java中不允许的类成员访问修饰符?A. publicB. protectedC. privateD. global4. 以下哪个是Java中实现多态的方式?A. 函数重载B. 函数重写C. 接口D. 抽象类5. 在Java中,哪个关键字用于声明一个方法,该方法没有返回值?A. voidB. returnC. noneD. null6. 以下哪个是Java中创建对象的语法?A. new ClassName();B. create ClassName;C. make ClassName;D. ClassName();7. 在Java中,以下哪个是正确的构造方法声明?A. public ClassName();B. public ClassName new();C. public new ClassName();D. public ClassName create();8. 以下哪个是Java中实现继承的方式?A. 使用extends关键字B. 使用implements关键字C. 使用interface关键字D. 使用new关键字9. 在Java中,以下哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. class10. 以下哪个是Java中实现封装的方式?A. 使用public关键字B. 使用private关键字C. 使用protected关键字D. 使用default关键字答案:1. D2. A3. D4. B5. A6. A7. A8. A9. A10. B二、简答题(每题10分,共20分)1. 简述面向对象程序设计中的“封装”概念及其重要性。

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

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

面向对象期末考试题及答案一、选择题(每题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。

C++面向对象程序设计考试试卷(详细讲解)

C++面向对象程序设计考试试卷(详细讲解)

C++面向对象程序设计考试试卷(详细讲解)一、单项选择题(共20题,每题1分,共20分)1、下列关于C++标识符的命名不合法的是 C 与C#一样A. PadB. name_1C. A#bcD. _a122、若有以下类型标识符定义:()Dint x=2; char w='a'; float y=23.45f; double z=45.6712;则表达式w*x+y-z的结果类型是A. floatB. charC. intD. double6、对重载函数形参的描述中,错误的是 D 重载是重点A. 参数的个数可能不同B. 参数的类型可能不同C. 参数的顺序可能不同D. 参数的个数、类型、顺序都相同,只是函数的返回值类型不同7、以下能正确定义数组并正确赋初值的语句是 DA. int N=5,b[N][N];B. int a[2]={{1},{3},{4},{5}};C. int c[2][]={{1,2},{3,4}};D. int d[3][2]={{1,2},{3,4}};8、下列给字符数组进行的初始化中,不正确的是 DA. char s1[]="abcd";B. char s2[3]={'x','y','\0'};C. char s3[]={'a','x','y','\0'};D. char s4[6]={"xyz","mnp"};9、通常的拷贝构造函数的参数是 CA.某个对象名 B.某个对象成员名C.某个对象的引用 D.某个对象的指针名10、关于构造函数特点的描述中,错误的是 AA. 定义构造函数必须指出类型(构造函数特点是无返回类型)B. 构造函数的名字与该类的类名相同C. 一个类中可定义0至多个构造函数(不写构造函数,系统会自动生成一个空的构造函数)D. 构造函数是一种成员函数11、下面程序的运行结果为 C#include <iostream.h>int add(int a,int b);void main(){extern int x,y;cout<<add(x,y)<<endl;}int x=20,y=5;int add(int a,int b){int s=a+b;return s;}A.20 B.5 C.25 D.编译会提示出错信息12、关于常成员的描述中,错误的是 BA. 常成员包含常数据成员和常成员函数两种B. 常数据成员必须是公有的C. 常数据成员要使用构造函数成员初始化列表进行初始化D. 常对象只能调用它的常成员函数,不能调用其它的成员函数13、关于友元函数的描述中,错误的是 BA. 友元函数不是成员函数B. 友元函数只能访问类中私有成员C. 友元函数破坏隐藏性,尽量少用D. 友元函数说明在类体内,使用关键字friend14、如果有int x,*p; float y,*q;则下面操作正确的是 CA.p=x B.p=qC.p=&x D.p=&y16、若数组名作实参而指针变量作形参,函数调用时实参传给形参的是 DA. 数组的长度B. 数组第一个元素的值C. 数组所有元素的值D.数组第一个元素的地址17、对于动态分配内存空间描述正确的是 DA.使用new运算符分配的内存空间的长度必需是常量B.delete运算符可以释放动态的存储空间和静态的存储空间C.由new分配的内存空间是不连续的D.delete运算符只能释放由new分配的动态存储空间18、能够释放对象所占资源的是() AA.析构函数 B.数据成员C.构造函数 D.静态成员函数19、虚函数的定义是在基类中进行的,定义时需要冠以关键字 CA.static B.frendC.virtual D.public20、在C++中串流类是在头文件strstrea.h中定义的,下列不属于串流类的是) C A.strstream B.ostrstreamC.ofstream D.istrstream二、填空题(共9题16空,每空1分,共16分)1、函数重载时,编译系统会根据__形参的类型__ 或__形参的个数__ 来区分。

面向对象测试题

面向对象测试题

面向对象测试题(时长150分钟,满分100分,60分及格)一.单选题(每题2分,2*10=20分):1. 有关new关键字的描述正确的是哪项?()A. new会调用类的构造器来创建对象B. new所创建的对象不占用内存空间C. new创建对象实例的时候可以不使用D. new所创建的对象一定存放在内存的栈区2. 类Student代码如下:Class Student{String name;int age;Public Student (String str){name = str;}}执行语句Student stu = new Student()后,字段age的值是哪项?()A. 0B. nullC. falseD. 编译错误3. 程序:Class TestApp{public static void main(String[] args){for(int i=0;i<10;i++){if(i==3)break;System.out.print(i);}}程序运行后的输出是哪项?()A. 0123B. 012C. 0123456789D. 0124567894. 已知数组array,其最后一个元素的下标是?()A. array.sizeB. array.length()-1C. array.size -1D. array.length -15. public class Pet{private String name;public Pet(String name){/doc/fd6643804.html, = name; }public void speak(){System.out.print(name);}}class Dog extends Pet{public Dog(String name){super(name);}public void speak(){super.speak();System.out.print(“Dog “);}执行代码Pet pet = new Dog(“藏獒”);pet.speak();后输出的内容是哪项?()A.藏獒B.藏獒DogC. nullD. Dog藏獒6. 给出下面的代码:if (x>0) { System.out.println("first"); }else if (x>-3) { System.out.println("second"); }else { System.out.println("third"); }当x在什么范围内,会输出:second ?()A. x > 0B. x > -3C. x <= -3D. x <= 0 && x > -37. 下列说法中哪项是正确的?()A.Java程序从编写到执行的整个过程为: Java源程序→编译成机器码→运行B.Java程序从编写到执行的整个过程为: Java源程序→编译成字节码→解释执行C.Java程序从编写到执行的整个过程为: Java源程序→直接解释执行D.Java程序从编写到执行的整个过程为: Java源程序→优化→运行8. str是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是?()Int temp = str[0];for (int index = 1;index < str.length;index++) {if (str[index] < temp) {temp = str[index];}}A.求最大数B. 求最小数C. 找到数组最后一个元素D. 找到数组最后一个下标9.下列说法正确的是?()A.不需定义类,就能创建对象B.属性可以是简单变量,也可以是一个对象C.属性必须是简单变量D.对象中必有属性和方法10.下面哪些是短整型short的取值范围:A.-27 ——27-1B.0 ——215C.–215 ——215-1D. –231 ——231-1二.判断题(每题2分,2*5=10分):T/F1.数组初始化int[] a = new int[]{1,2,3};2.Java中一个类只能有一个父类。

面向对象考试题(参考)

面向对象考试题(参考)

一、单项选择1。

程序设计中,首先在问题域中识别出假设干个〔〕A。

函数B。

类C。

文件D。

过程2。

定义类模板用关键字〔〕A。

const B.new C.delete D.template3。

运算结果类型一样的〔〕A.9.0/2.09.0/2B.9/2.09/2C.9.0/29/2D.9/29.0/2.04。

f1f2同一类两个成员函数,但f1不能调用f2,说明〔〕a.f1f2都是静态函数b.f1是静态,f2不是c.f1不是,f2是静态d.f1f2都不是静态函数5。

调用一成员函数时,使用动态联编的情况是〔〕A.通过对象调用一虚函数B。

通过指针或引用调用一虚函数C。

通过对象调用静态函数D。

通过指针或引用调用一静态函数6。

假定一个类构造函数为:“A(int aa=1,int bb=0){a=aa;b=bb;}那么执行"A x(4)"后,x.a和x.b值分别是:〔〕A。

1,0 B。

1,4 C。

4,0 D。

4,17。

在派生类中能直接访问基类的〔〕A。

公有成员,私有成员B。

保护成员,私有成员C。

不可访问成员,私有成员D。

公有成员,保护成员8。

不具访问权限属性的是:A。

非类成员B。

类成员C。

数据成员D。

函数成员9。

类定义中private,protected,public出现次数为〔〕A。

任意屡次B。

至多一次C。

public至少一次D。

至少一次10。

C++鼓励程序员将〔〕A。

数据操作分别封装B。

不同类型数据封装C。

数据操作封装在一起D。

不同作用操作封装在一起。

二、填空1。

C++中,最好用〔〕代替malloc。

2。

函数模板中template之后尖括号的类型参数冠以保存字〔〕。

3。

在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,()。

4。

如果重载了运算符+,那么相应运算函数名是〔〕。

5。

由static修饰的数据成员为该类的所有对象〔〕。

6。

为了实现多态性,派生类需要重新定义基类中的〔〕。

面向对象练习题

面向对象练习题

面向对象练习题一、选择题1. 在面向对象编程中,以下哪个概念不是面向对象的核心概念?A. 封装B. 继承C. 多态D. 函数2. 以下哪个选项是Java语言中实现多态的方式?A. 通过继承B. 通过接口C. 通过重载D. 通过重写3. 在面向对象编程中,一个类可以有多少个父类?A. 0个或1个B. 1个C. 多个D. 无数个4. 以下哪个关键字在Java中用于定义一个类?A. structB. classC. interfaceD. enum5. 以下哪个是Java中创建对象的关键字?A. newB. createC. instanceD. object二、填空题6. 在面向对象编程中,______ 是指将数据和操作这些数据的方法结合在一起。

7. 一个类可以包含______ 和______ 两种成员。

8. 封装的目的是______ 数据,并对外部隐藏内部细节。

9. 继承可以使得子类获得父类的______ 和______。

10. 多态性允许不同类的对象对同一消息做出响应,但具体______ 取决于对象的实际类型。

三、简答题11. 简述面向对象编程的三大特性,并举例说明它们在实际编程中的应用。

12. 解释什么是接口,并说明接口与抽象类的区别。

13. 描述如何使用Java实现一个简单的类,并说明如何创建该类的实例。

四、编程题14. 编写一个Java类`Person`,包含属性`name`和`age`,以及一个方法`introduce()`,该方法输出个人信息。

15. 假设你已经有一个名为`Animal`的抽象类,它包含一个抽象方法`makeSound()`。

编写一个名为`Dog`的类,继承自`Animal`,并实现`makeSound()`方法,使得`Dog`对象调用该方法时输出"Woof!"。

16. 创建一个Java程序,包含一个名为`Vehicle`的类,它有一个属性`speed`和一个方法`increaseSpeed(int increment)`。

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中,______关键字用于声明一个类是抽象的。

面向对象考试题

面向对象考试题
A.
/qsserver/source/exam_paper/2018/4/1524824170570/1524109843761.html
3/11
2018/4/27
public void max(int x,int y){ return x>y?x:y; }
20. (单选题)下列数组对象创建语句中,错误的是( )。
A. char[] arr = new char[]{}; B. char[] arr = new char[]; C. char[] arr = {}; D. char[][] arr = new char[2][];
21. (单选题)下列程序输出结果是( )。 public class Test { static int i = 0; public int aMethod() { i++; return i; } public static void main(String args[]) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); Test test1 = new Test(); System.out.println(test1.i); } }
A. 45 B. 100 C. 36 D. 99
/qsserver/source/exam_paper/2018/4/1524824170570/1524109843761.html
A. arr[4]值为0.0 B. arr[4]未定义 C. arr[5]值为0.0 D. arr[5]值为空
9. (单选题)阅读如下程序, 输出结果是( )。 class Fu{ int num = 3; } class Zi extends Fu{ int num = 4; void show() { int num = 5; System.out.println(super.num); System.out.println(this.num); } public static void main(String[] args) { Zi z = new Zi(); z.show(); } }

面向对象程序设计(JAVA)期末考试试卷(A卷)

面向对象程序设计(JAVA)期末考试试卷(A卷)
7。如果在子类中想使用被子类隐藏得父类得成员变量或方法可以使用关键字____________,使用本类中被局部变量隐藏得成员变量使用关键字____________.
8。若子类对父类中得同名同参方法进行重新定义,我们称子类___________了父类得同名方法.
9.Java中用类创建一个对象包括对象得声明与为对象____________两个步骤。
D。不影响,系统可以自己区分
4.在异常处理中,如释放资源、关闭文件、关闭数据库等由哪个子句来完成【】
A.try子句B.catch子句C.finally子句D.throw子句
5.下面哪个流类属于面向字符得输入流【】
A.BufferedWriterB。C.ObjectInputStreamD。InputStreamReader
ﻩStringd ="Javaprogram、”;
ﻩvoid show(){
super、show();
ﻩSystem、out、println("ClassB:a=” + a + "\td=" + d);
ﻩ}
publicstatic void main(String args[]){ Ab=new B();b、show();}
int m=list、get(k);
System、out、printf(”%3d”,m);

}

程序得输出结果就是:
4.classSpeak{
ﻩpublicvoidhello(){
System、out、println("Hello!");

}பைடு நூலகம்
public class test{
ﻩpublicstatic void main(Stringargs[]){

《Java面向对象程序设计》考试卷及答案带注释

《Java面向对象程序设计》考试卷及答案带注释

一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。

CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。

CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。

0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。

Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。

逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。

面向对象程序设计考试模拟题(附参考答案)

面向对象程序设计考试模拟题(附参考答案)

面向对象程序设计考试模拟题(附参考答案)一、单选题(共10题,每题1分,共10分)1、下面关于javac命令作用的描述中,正确的是()。

A、可以执行java程序B、可以将编写好的Java文件编译成.class文件C、可以把文件压缩D、可以把数据打包正确答案:B答案解析:javac命令将java文件编译成java字节码文件。

2、下列关于构造方法的描述,错误的是()A、在构造方法中不能使用return语句返回一个值,但是可以单独使用return作为方法的结束B、一个类中只能定义一个空参数的构造方法C、构造方法的方法名前面没有返回值类型的声明D、一个类中可以定义多个构造方法正确答案:B3、以下关于成员属性与成员方法的描述中,错误的是()A、成员属性我们也叫成员变量,它就是描述对象的特征。

它可以定义在类中,也可以定义在方法中B、成员方法用于描述对象的行为C、在类中定义的变量,我们称为成员变量D、在类中定义的方法,我们称变成员方法正确答案:A答案解析:类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。

定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。

4、FileWriter类的write(int c)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符正确答案:D答案解析:write(int c)方法用于写入单个字符。

5、下列关于集合的描述中,哪一个是错误的()A、集合按照存储结构可以分为单列集合Collection和双列集合Map。

B、List集合的特点是元素有序、元素可重复。

C、Set集合的特点是元素无序并且不可重复。

D、集合存储的对象必须是基本数据类型。

正确答案:D答案解析:集合可以存储多种数据类型的数据,包括引用数据类型。

6、下列关键字中,哪个不能修饰接口中的成员变量?()A、publicB、staticC、finalD、private正确答案:D答案解析:接口中的成员变量其实是一个常量,用public static final 修饰,所以,用private修饰是错误的。

面向对象程序设计考试模拟题含参考答案

面向对象程序设计考试模拟题含参考答案

面向对象程序设计考试模拟题含参考答案一、单选题(共50题,每题1分,共50分)1、下列数据结构中,哪一个是ArrayList类的底层实现()A、数组结构B、链表结构C、哈希表结构D、红黑树结构正确答案:A答案解析:ArrayList的底层是数组实现的。

2、Java属于以下哪种语言()A、机器语言B、汇编语言C、高级语言D、以上都不对正确答案:C答案解析:Java是一门高级编程语言。

3、下面关于path和classpath的说法中,错误的是()A、path用来指定java虚拟机(JVM)所在的目录B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同D、只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类正确答案:C答案解析:classpath和path环境变量的查看与配置的方式完全相同,都是通过 set关键字实现的。

4、若double val = Math.ceil(-11.9);,则val的值是()A、11.9B、-11.0C、-11.5D、-12.0正确答案:B答案解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。

5、下列集合中,不属于Collection接口的子类的是()A、ArrayListB、LinkedListC、TreeSetD、Properties正确答案:D答案解析:Properties集合属于Map集合的子类。

6、下列关于类与对象的说法中,错误的是()A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。

B、对象是类的实例化。

C、类用于描述多个对象的共同特征,它是对象的模板。

D、类与对象没有什么实际关系。

正确答案:D答案解析:对象是通过类来创建的。

7、下列关于List接口的描述中,错误的是()A、List接口继承自Collection接口,是单列集合。

c面向对象程序设计期末考试题及完整参考答案

c面向对象程序设计期末考试题及完整参考答案
2.Iflyable接口定义中的public float Run(float distanee);,改为float Run(float distanee);
3.distanee/400.0改为distanee/400或者distanee/400.0f;
4.public float ISwimmable.Run(float distanee)改为float ISwimmable.Run(float distanee)
7.类索引函数的参数类型必须为或。
8.类对接口方法的实现时,在方法名称之前加上接口名,这叫做对接口方法的实现,此时这个方法是这个
类的员,不能通过类的实例来访问。
9.作为一种特殊的函数成员,重载类的操作符时,被重载的操作符必须被声明为公有的和,并通过在关键
字operator后跟操作符来声明。
二、判断题(每小题1分,共5分)
public virtual float Run( float dista nce)
{
retur n dista nce/Speed;
}
public Automobile(float speed)
{
Speed = speed;
}
}
public class Amphicar:Automobile, ISwimmable
Console.WriteLine("{0}空中飞行1000公里需{1}小时", plane, plane.Run(1000)); //调用IFlyable接口Run方法
Con sole.ReadL in e();
}
}
public in terface IFIyable
{
public float Run( float dista nee);

(完整word版)《面向对象程序设计C》期末考试试卷

(完整word版)《面向对象程序设计C》期末考试试卷

《面向对象程序设计C++》期末考试试卷一、选择题(每小题3分,共48分.)01、下列关于C++函数的叙述中,正确的是( C )。

A)每个函数至少要具有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己02、下列关于类和对象的叙述中,错误的是( A )。

A)一个类只能有一个对象B)对象是类的具体实例C)类是对某一类对象的抽象D)类和对象的关系是一种数据类型与变量的关系03、在C++中,用于实现运行时多态性的是( D )。

A)内联函数B)重载函数C)模板函数D)虚函数04、下列关于运算符重载的叙述中,正确的是( B ).A)通过运算符重载,可以定义新的运算符B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参05、对于语句cout〈〈x<<endl;错误的是描述是( D ).A)“cout”是一个输出流对象B)“endl”的作用是输出回车换行C)“x”是一个变量D)“〈<”称作提取运算符06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是()。

class MyBASE{ private: int k;public: void set(int n){ k=n;}int get()const{ return k;} };class MyDERIVED: protected MyBASE{protected: int j;public:void set(int m, int n){ MyBASE::set(m); j=n;}int get( )const { return MyBASE::get()+j;} };A)4 B)3 C)2 D)107、已知在一个类体中包含如下函数原型:Volume operator-(Volume)const;,下列关于这个函数的叙述中,错误的是( )。

《面向对象程序设计》练习题及答案

《面向对象程序设计》练习题及答案

《面向对象程序设计》练习题及答案1. 单选题1. 数组的大小在创建以后( )。

A. 可以改变B. 不能改变C. 使用new方法可以改变D. 有些可以改变正确答案:B2. 已知如下代码:boolean m = true;if ( m = false ) System.out.println("False");else System.out.println("True");执行结果是( )A. FalseB. TrueC. NoneD. 出错正确答案:B3. 下列代码中,将引起一个编译错误的行是( ) 1)public class Test{ 2) int m,n; 3) public Test(){} 4) public Test(int a){m=a;} 5) public static void main(String args[]){ 6) Test t1,t2; 7) int j,k; 8) j=0;k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) }12) }A. 第3行B. 第5行C. 第6行D. 第10行正确答案:D4. 如果类中的成员变量可以被同一包访问,则使用如下哪个约束符( )。

A. privateB. publicC. protectedD. no modifier正确答案:D5. 下列哪个类声明是正确的( )A. abstract final class Hl{…}B. abstract private move(){…}C. protected private numberD. public abstract class Car{…}正确答案:D6. 下列构造方法的调用方式中,正确的是( )。

A. 按照一般方法调用B. 由用户直接调用C. 只能通过new 自动调用D. 被系统调用正确答案:C7. 以下有关构造方法的说法,正确的是( )A. 一个类的构造方法可以有多个B. 构造方法在类定义时被调用C. 构造方法只能由对象中的其它方法调用D. 构造方法可以和类同名,也可以和类名不同正确答案:A8. 设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )A. 3B. 3.5C. 4D. 5正确答案:A9. 下面的表达式哪个是正确的( )A. String s="你好";int i=3; s+=i;B. String s="你好";int i=3; if(i==s){ s+=i};C. String s="你好";int i=3; s=i+s;D. String s="你好";int i=3; s=i+;正确答案:A10. 下列正确的句子是( )。

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

第五章考试题
一、选择题:(每题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、运行成功,但不输出
7.下面关于构造方法的描述有误的一项是()。

A、构造方法必须要有返回类型的声明。

B、构造方法和类中的方法很相似:有访问修饰符、方法名、参
数列表、方法体。

C、构造方法当成是一个特殊的方法,这个方法的作用就是用来
产生一个类的实例。

D、构造方法的方法名必须和类名完全相同。

8.下列关于对象的说法错误的一项是()。

A、对象成员是指一个对象所拥有的属性或可以调用的方法。

B、由类生成对象,称为类的实例化过程,一个实例可以是多个
对象。

C、在创建类的对象时,需要使用Java的new关键字。

D、在Java中要引用对象的属性和方法,需要使用“.”操作符来
实现。

9.类的方法可以不包含下面哪一项()。

A、方法的参数
B、方法的主体
C、方法的名称
D、方法的返回值类型
10.下面关于变量说法错误的一项是()。

A、对于成员变量,我们可以不需要手动的显式初始化,因为系
统在创建一个新的对象的时候,会给这些成员变量赋一个初值。

B、对于引用变量,它的默认初值是null而非相应的引用类型对
象,也就是说,它并不是指向任何对象的首地址。

C、系统会对全局(成员)变量指定默认的值,也会对局部变量
赋值。

D、局部变量在使用之前,必须对其进行显式初始化。

11.下面的各种数据类型的默认初始化值表示错误的一项是()。

A、int是0
B、float 是0.0
C、char 是‘\u0000’
D、boolean是false
12.下面哪一项不是Java的访问控制符()。

A、public
B、private
C、void
D、protected
13.Java语言类间的继承关系和接口间的继承关系分别是()。

A、单继承、不能继承
B、多重继承、不能继承
C、多重继承、单继承
D、单继承、多重继承
14.如果局部变量和成员变量同名,如何在局部变量作用域内引用成
员变量()。

A、不影响,系统可以自己区分
B、不能引用,必须改名,使它们的名称不相同
C、在成员变量前加this,使用this访问该成员变量
D、在成员变量前加super,使用super访问该成员变量
15.下列关于内部类说法错误的一项是()。

A、内部类可用private或protected修饰符修饰
B、内部类不能有自己的成员方法和成员变量
C、除static内部类外,不能在类内声明static成员
D、内部类可以作为其他类的成员,而且可访问它所在的类的成

16.定义外部类时不能用到的关键字是()。

A、public
B、abstract
C、protected
D、final
17.下面说法不正确的一项是()。

A、abstract和final能同时修饰一个类
B、抽象类既可以做父类,也可以做子类
C、声明为final类型的方法不能在其子类中重新定义
D、抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类
或接口
18.有一个类B,下面为其构造方法的声明,正确的是()。

A、void b(int x) {}
B、void B(int x) {}
C、B(int x) {}
D、b(int x) {}
19.区分类中重载方法的依据是()。

A、不同的形参名称
B、返回值的类型不同
C、形参列表的类型和顺序
D、访问权限不同
20.下面说法错误的一项是()。

A、在Java中,为了节省创建对象的时间和空间,对于一些常用
的方法,会将它在内存中缓存起来。

B、在JDK中针对各种基本数据类型分别定义相应的引用类型,
称之为封装类(Wrapper Classes)。

C、JDK5.0中,引入了自动装箱/拆箱功能,可以让我们方便的在
简单类型和对应的封装类型数据之间转换。

D、在Object类中,定义了一个toString()方法,用来返回一个表
示这个对象的字符串。

二、简答题:(每题8分,共5题)
1.请分别描述封装、继承、多态的含义。

2.在进行方法的重载时,有四条基本原则需要遵守,请写出这四条
原则。

3.请举例说明对象和类的区别。

4.请分析Overload和Override的区别(即重载和重写的区别)。

5、定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。

编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。

编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。

在main方法中测试以上各类。

相关文档
最新文档