《java面向对象程序设计》填空与选择题复习材料课件
- 格式:docx
- 大小:68.93 KB
- 文档页数:8
《面向对象程序设计》课程复习〇、成绩构成1、平时成绩:15分(考勤+作业)2、实验成绩:25分(实验+课程设计)3、考试成绩:60分一、考试题型选择题30分填空题20分判断题15分简答5分程序分析20分程序编写10分二、选择题1.C++代码源文件的扩展名应为( B)A. cB. cppC.objD.exe2.函数声明为:char fun(int a); float fun(char *p); int fun(int &b); 则以下函数调用语句正确的是( C)A. fun(5)B. int b; fun(&b);C. char *p; fun(p);D. int a; fun(a)3.标准输入流对象cin无法读取( C)A. 数值B. 字符串C. 空白字符D. 字符4.不是C++关键字的是(C)A. mutableB. classC. FriendD. virtual5.通过( A)方法可以在现有类基础上定义新类。
A. 继承B. 引用C. 包含D.封装6.成员函数亦可声明为静态的,但是它不能直接访问类的(D)数据成员A. 私有B. 静态C. 常量D. 非静态7.若类B的定义中私有数据成员i为常数据成员,则( D )A. 数据成员i不能被一般的成员函数所访问B. 数据成员i的初始化可以在构造函数的函数体中实现//不能再函数体中,只能通过参数初始化表C. 数据成员i可以被常成员函数访问和赋值D. 以上均不对8.在编译时,将所调用的函数代码嵌入到主调函数中,这种嵌入到主调函数中的函数不能称为(D)A. 内置函数B. 内联函数C. 内嵌函数D. 嵌套函数9.存储以下数据,占用存储字节最多的是( D)A. NULLB. '0'C. "0"D. 0.010.面向对象的程序是( D)两者的组合A. 算法和数据结构B. 对象和函数C. 函数和算法D. 对象和消息11.如果调用带有默认参数的函数时缺少一个参数,则(C)参数就作为这一参数A. 第1个B. 中间1个C. 最后一个D. 系统随机选择12.假定A为一个类,则执行A a, b[2], *p=&a, c(*p);语句后,程序将要结束时,共调用该类析构函数的次数应为( C)A. 2B. 3C. 4D. 513.已有定义:char * p="ABC";则下面语句正确的是( D)A. *p="ABC";B. p[0]="A";C. p[2]='C';D. char c=p[1];14.已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明( B)A. f1和f2都是静态函数B. f1是静态函数,f2不是静态函数C. f1不是静态函数,f2是静态函数D. f1和f2都不是静态函数15.下列关于函数模板与类模板的描述中,不正确的是( D)A. 函数模板的实例化是由编译程序在处理函数调用时自动完成B. 类模板的实例化必须由程序员在程序中显式的指定C. 函数模板与类模板均可以显式调用D. 定义函数模板时可以使用多个类型参数,而类模板不可以16.对于语句cout>>a;,下列描述中不正确的是( C)A. “cout”是一个输出流对象B. 该语句错误使用了运算符C. “>>”称作插入运算符(提取)D. 该语句需要头文件iostream17.下面运算符中,不能被重载的运算符是( C)A. <=B. -C. ?:D. []18.以下不属于面向对象的程序设计语言的是( D )A. C#B. C++C. JavaD. C19.下列关于C++中运算符重载的描述中,错误的是( C)A. 运算符重载是对已有的运算符赋予多重含义B. 重载的运算符,其运算对象可以是自定义的数据类型C. 编译系统对重载运算符的选择,遵循函数模板(重载)的选择原则D. 运算符的重载实质上是函数的重载20.假定p所指对象的值为5,p+1所指对象的值为8,则执行“(*p)++;”语句后,p所指对象的值为(A)A. 6B. 9C. 5D. 821.运算符重载时不需要保持的性质是(B)A. 操作数个数B. 操作数类型C. 优先级D. 结合性22.已有定义:char *str="abcd";则下面语句正确的是( C )A. str[0]="a";B. str[1]='b';C. char c=str[0];D. *str="xyzw";23.已知:int k=6;则下列语句中能正确表示引用的是(B)A. int x=k;B. int &x=k;C. int &x=6;D. int &x=&k;24.下列虚基类的声明中,正确的是( A)A. class B:virtual public AB. class virtual B:public AC. virtual class B:public AD. class B:public A virtual25.已有定义virtual int area( )=0;下面关于该函数的解释中正确的是( A)A. 该函数是纯虚函数B. 该函数返回值为0C. 该函数通常在派生函数中声明D. 该函数的入口地址为026.作为类的成员函数重载一个运算符时,如果参数表为空,通常情况下,说明该运算符有( B)个操作数A. 0B. 1C. 2D. 3二、填空题27.重载函数在参数个数或参数类型上不同,但函数名称相同。
1.标识符合法判断2.数组定义与引用3.整除、求余操作4.字符串基本操作5.表达式合法性判断、三元表达式用法及简单计算【A ?B :C】6.注释用法,单行注释、多行注释和文档注释各自语法及用途7.构造方法以及作用【带参数和不带参数的构造方法应用以及子类调用父类构造方法】8.类及其属性、方法修饰符【访问范围】9.修饰符混用:abstract不能与final并列修饰同一个类【正确】;abstract类中不可以有private的成员【正确】;abstract方法必须在abstract类中【错误】;static方法中能处理非static的属性【正确】10.抽象方法抽象类11.接口的继承特点,类的继承【子类访问父类变量和方法问题、变量隐藏】特点、多态、子类调用父类相同名字的变量和方法。
12.创建对象数量问题:【1】String s1="bc"; String s2="bc";【2】Strings1="bc"; String s2=new String("bc");13.方法返回类型及方法的定义14.final变量及特点15.静态变量和非静态变量16.abstract和final修饰符17.综合【一般类的编写:成员变量和成员方法,抽象类使用、接口定义及使用、水仙花数、素数、回文数等】18.讨论分析(1)如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。
(2)最终类不能派生子类,最终方法不能被覆盖。
(3)Java中的String类的对象既可以是字符串常量,也可以是字符串变量。
(4)Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
(5)设String对象s=”Hello ”,运行语句System.out.println(s.concat(“World!”));后String对象s的内容为”Hello world!”,所以语句输出为Hello world!(6)System类不能实例化,即不能创建System类的对象。
面向对象程序设计课程期末复习一、填空题1.Java源程序的扩展名是.java ,经过编译后的程序的扩展名是.class 。
2.Socket通常也称为套接字,用于描述IP地址和端口。
3.线程的优先级在0 至31 之间,数值越大任务越紧急4.构造方法是一种特殊的成员方法,构造方法名及类名相同5.Java语言只允许单继承,指每个类只能有一个父类。
6. 在面向对象方法中,类描述的是具有相似属性及操作的一组对象。
7. 对象是Java程序中基本的结构单位。
8. 组件不能独立地显示出来,必须将组件放在一定的容器中才能显示。
9. 能将显示空间分成很多层的布局管理器是CardLayout 。
10. 任何一个Java程序都默认引入一个包,这个包的名字叫ng 。
11. Java语言中,有一个类是所有类或接口的父类,这个类的名称是 Object 。
12. 只能被同一包中的类访问的类中定义的成员变量是default 成员13. J2EE 是大型企业级用容器管理专用组件的应用平台。
14. 在Java语言中,用 abstract 修饰符定义的类为抽象类。
15.Swing中用来表示面板的类是16.执行下列代码后的结果是什么? int x,a=2,b=3,c=4;x=++a+b+++c++;x=1017.java.util包包含了Collection的接口和类的API18.main方法的声明格式包括 public static voidmain(String[]args)19.下列程序中构造了一个SET并且调用其方法add(),输出结果是 1public class A{public int hashCode(){return 1;}public Boolean equals(Object b){return true}public static void main(String args[]){ Set set=new HashSet();set.add(new A());set.add(new A());set.add(new A());System.out.println(set.size());}}20.下列程序的运行结果是 26class A{class Dog{private String name;private int age;public int step;Dog(String s,int a){name=s;age=a;step=0;}public void run(Dog fast){fast.step++;}}public static void main (String args[]){A a=new A();Dog d=a.new Dog("Tom",3);d.step=25;d.run(d);System.out.println(d.step);}}21.Java语言中, final 类不能被继承。
java面向对象考试题及答案一、选择题(每题2分,共10分)1. 在Java中,以下哪个关键字用于定义一个类?A. classB. structC. interfaceD. enum答案:A2. 以下哪个选项是Java中类的成员变量?A. 方法B. 构造函数C. 属性D. 包答案:C3. 在Java中,哪个关键字用于实现类的继承?A. extendsB. implementsC. importD. package答案:A4. 在Java中,以下哪个关键字用于定义一个接口?A. classB. structC. interfaceD. enum答案:C5. 在Java中,以下哪个关键字用于定义一个枚举类型?A. classB. structC. enumD. interface答案:C二、填空题(每题2分,共10分)1. 在Java中,一个类可以继承另一个类的______方法。
答案:public2. 当一个类实现了一个接口,它必须提供接口中所有方法的______实现。
答案:具体3. Java中的______关键字用于定义一个包。
答案:package4. 在Java中,______关键字用于声明一个方法,该方法没有返回值。
答案:void5. 在Java中,______关键字用于声明一个方法,该方法返回一个布尔值。
答案:boolean三、简答题(每题5分,共20分)1. 简述Java中构造函数的作用。
答案:构造函数是类的特殊方法,用于在创建对象时初始化对象的状态。
它具有与类同名的名称,并且没有返回类型。
2. 描述Java中接口和抽象类的区别。
答案:接口是完全抽象的,不能包含任何实现细节,而抽象类可以包含实现细节。
接口中的方法默认是public和abstract的,而抽象类可以有非抽象方法。
一个类可以实现多个接口,但只能继承一个抽象类。
3. 什么是Java中的多态性?请举例说明。
答案:多态性是指允许不同类的对象对同一消息做出响应的能力。
面向对象程序设计复习资料(一)单项选择题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面向对象程序设计复习题一、选择题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面向对象程序设计》考前复习纲要练习题二判断题:1、指出以下程序内容,各属于哪个面向对象范畴A.封装B继承C多态class Student{private String id;private String name;private String professional; //专业} ( )2、在一个类中定义多个同名但不同参数的方法,叫做( ) class Math{public int add(int a, int b);public double add(double a, double b);public double add(double a, double b, double c);}A.方法重载B.方法重写C.方法继承D.构造方法3、一个 Java 源文件中定义有 class Shape{} class Circle{} class Rect{ },则这个文件的文件名可以是( )A Shape.javaB Circle.javaC Rect.java D可以是任意的.java文件名E以上答案都不对4、一个 Java 源文件中定义有 public class Shape{} class Circle{} class Rect{ },则这个文件的文件名可以是( )A Shape.javaB Circle.javaC Rect.java D可以是任意的.java文件名E以上答案都不对5、一个 Java 源文件中定义有 public class Shape{ } public class Circle{ }public class Rect{ },则这个文件的文件名可以是( )A Shape.javaB Circle.javaC Rect.java D可以是任意的.java文件名E这个文件的定义是错误的6、如果 Hello 类定义在 edu.learn 包中,则 package edu.learn;这条语句应该放在( ) 的位置上(A)import java.util.*;(B)class Hello {(C)}(D)7、如果类 A 在 com.a 包中,类 B 在 com.b 包中,则类 A 要使用类 B 的话,正确的方法是( )备注:本题多选A类 A 中声明import com.b;class A{}B类 A 中声明import com.b.*;class A{}C类 A 中声明import com.b.B;class A{}D类 A 中直接使用 class A { com.b.B b = new com.b.B();}直接使用8、如果有以下类定义class Employee {int a;public void funa(){}}class Teacher extends Employee {int b;public void funa() {}public void funb() {}}则在使用 Employee emp = new Teacher()上转对象的过程中,对 emp 的正确理解是( )A . emp 可以访问 a, b, funa(),funb()B. emp 可以访问 b, funb()C . emp 可以访问 a, funa()D . emp 可以访问 a, funa(),funb()9、接口相比抽象类而言,两者的区别在于接口中不能拥有()①变量②常量③普通方法④抽象方法A.①③B.①②③C.③D.②③10、抽象类中的抽象方法的正确定义是( )A. public void func(int a) { }B. public func(int a) { }C. public void func(int a) ;D. public abstract void func(int a) ;11、外部类和内部类的关系是( )A.继承关系B.并列关系C.包含关系D.没有什么特别的关系12、如果方法 funa()执行时会产生 AException 异常,则执行以下程序后,结果为( )try{①funa();②}catch(AException e1){③}catch(BException e2){④}catch(Exception e3){⑤}finally{⑥}⑦A①③④⑤⑥⑦ B ①③⑥⑦C ①③⑦D①②③⑥⑦13、以下哪个集合类是实现 List 接口的( )A. HashSetB. TreeMapC. ArrayListD.HashMap14、以下哪个集合类不是实现 Map 接口的( )A. HashSetB. TreeMapC. HashTableD. HashMap15、以下哪个集合类不是实现是使用键值对来存储数据的( )A. HashTableB. TreeMapC. ArrayListD. HashMap16、以下哪个集合类能够插入相同的值( )A.hashSetB.hashMapC.ArrayListD.TreeMap17、以下哪个布局是网格布局( ),哪个布局是盒式布局( ),哪个布局是空布局( ),哪个布局是流式布局( ),哪个布局是边界布局( ) ,A B CD E填空题:1、类结构中可以包含______________和______________。
2、定义类用的关键字是____________,定义接口用的关键字是_________________3、面向对象是研究类和对象的_________,____________,____________在现代程序设计中的三大特性。
4、java 使用访问修饰符来实现不同方式的封装性,这些访问修饰符是:_______________,_______________,_______________,_________________。
5、java 源文件的扩展名是____________,经过编译后形成字节码文件,其扩展名为________________。
6、使用对象,就是使用对象的成员变量和成员方法,而要使用对象的成员变量和成员方法,则要在对象名后面通过________运算符来识别和使用。
7、类有一个方法,专门用来创建类的对象,这个方法叫做______________________。
8、类的构造方法名称,必须与____________同名。
9、如果要将一个变量定义成常量,可以使用_____________关键字来定义10、Java 项目中可以拥有多个同名的类,但是必须将这些类定义在不同的_____________中。
11、在类中定义包结构需要使用关键字_____________,定义必须放在第一行,要引入别的包中的文件,可以使用_______________关键字在紧跟包定义之后进行引入声明。
补充:文章类及其某方法的定义格式如下class DForum{public DForum(int id , String topic){…..}}请写出调用该方法的代码______________________________________________________补充:在下面的两个包的定义中package hotel.manage.ui;interface A { int a}如果要在 B 类中使用接口 A,则补充完整引入包的代码:package hotel.manage.impl;__________________________________class B{ }12、访问修饰符的选择,在以下三个类定义中package p1; package p1; package p2;class A { int a} class B{ } class C{}如果类 A 希望它的成员 a 只能被 B 访问,而不能被 C 访问,则它的成员 a 应该使用__________访问修饰符进行修饰13、如果一个类希望将它的成员在不同包的类中都能访问得到,那么这个类的成员应该使用____________访问修饰符进行修饰14、类的静态方法和静态变量的定义使用的关键字是_________________补充:某类中有一个成员和方法定义如下:class Counter{int num = 0;Public void setNum( int num){ this.num += num; }}则执行代码Counter c1 = new Counter(); Counter c2 = new Counter();Counter c3 = new Counter();c1.setNum(1);c2.setNum(2),c3.setNum(3);后,c1,c2.c3 的 num 成员的值分别为_______, _________, __________补充:某类中有一个成员和方法定义如下:class Counter{static int num = 0;Public void setNum( int num){ this.num += num; }}则执行代码Counter c1 = new Counter(); Counter c2 = new Counter();Counter c3 = new Counter();c1.setNum(1);c2.setNum(2),c3.setNum(3);后,c1,c2.c3 的 num 成员的值分别为_______, _________, __________15、使用一个旧类创建新类的过程叫做___________,被继承的类叫做___________,派生出的新类叫做______________16、如果 Employee 类是父类,子类是 Teacher 类,则 Employee emp = new Teacher()这种可以引用子类对象的父类变量叫做_______________。
17、抽象类和接口中都拥有着一个共同的方法,该方法叫做_______________,它们都使用___________关键字来定义。
18、子类继承父类使用____________关键字,子类继承接口使用_____________关键字19、Interface Math{public void add(int a, int b); },我们知道接口不能创建对象,但是下述代码却能通过:Math math = new Math(){ public void add(int a, int b){ return a + b;}}; 在 java 中这样的对象创建方法叫做______________________________________。
20、所有异常类的基类是_______________,它可以代表并捕获所有异常类型。