(完整版)Java程序设计习题附答案(三)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三部分面向对象程序设计
1、引用数据类型变量具有基本属性为(ABCD)
A、变量名
B、数据类型
C、存储单元
D、变量值。
2、面向对象技术的特性是(ACD)
A、继承性
B、有效性
C、多态性
D、封装性。
3、下列哪个命题为真?(C)
A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
4、关于子类与父类关系的描述正确的是(ACD)
A、子类型的数据可以隐式转换为其父类型的数据;
B、父类型的数据可以隐式转换为其子类型的数据;
C、父类型的数据必须通过显示类型转换为其子类型的数据;
D、子类型实例也是父类型的实例对象。
5、下列哪一项说法最好地描述了Java中的对象?(C)
A、对象是通过import命令引入到程序中的所有事情
B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值
C、对象是一种数据结构,它具有操作数据的方法
D、对象是一组具有共同的结构和行为的类
6、下面哪个关键字不是用来控制对类成员的访问的?(C)
A、public
B、protected
C、default
D、private
7、Java语言正确的常量修饰符应该是(D)
A、final
B、static final
C、static
D、public static final;
8、接口的所有成员域都具有public 、static和final 属性。
9、接口的所有成员方法都具有public 和abstract 属性。
10、编译下列源程序会得到哪些文件?(C)
class A1{
}
class A2{
}
public class B{
public static void main(String args[]){
}
}
A) 只有B.class
B)只有A1.class和A2.class文件
C)有A1.class、A2.class和B.class文件
D) 编译不成功
11、下列哪种说法是正确的?(A)
A、私有方法不能被子类覆盖。
B、子类可以覆盖超类中的任何方法。
C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。
D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。
12、关于类继承的说法,正确的是(B)。
A、Java 类允许多重继承
B、Java接口允许多继承
C、接口和类都允许多继承
D、接口和类都不允许多继承
13、使用以下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D)
A)abstract B)private
C)protected D)不使用保留字
14、为了区分重载多态中同名的不同方法,要求(A)。
A. 采用不同的参数列表
B. 返回值类型不同
C. 调用时用类名或对象名做前缀
D. 参数名不同
15、下述概念中不属于面向对象方法的是(D)。
A.对象、消息B.继承、多态C.类、封装D.过程调用
16、下列关于构造方法的叙述中,错误的是(C)
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
17、如果str表示一个String对象“73”,那么以下哪些表达式将会把这个字符串转换为int 值73?请选出正确答案。
(C)
A)Integer.getInt(str)
B)((int) str)
C)(new Integer(str)).intValue()
D)Integer.intValue(str)
18、下列哪个类的声明是正确的?(D)
A.abstract final class HI{} B.abstract private move(){} C.protected private number; D.public abstract class Car{}
19、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
20、在Java中,关于final关键字的说法正确的是(AD)。
A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被覆盖。
D、如果修饰方法,则该方法所在的类不能被继承。
21、在Java中,下面关于包的陈述中正确的是(AD)。
A、包的声明必须是源文件的第一句代码。
B、包的声明必须紧跟在import语句的后面。
C、只有公共类才能放在包中。
D、可以将多个源文件中的类放在同一个包中。
22、下面有关私有变量和私有方法的声明,哪些叙述是对的?(AD)
A、用关键字private修饰的成员变量和方法,称为私有变量和私有方法。
B、用关键字protected修饰的成员变量和方法,称为私有变量和私有方法。
C、用关键字public修饰的成员变量和方法,称为私有变量和私有方法。
D、私有变量不能通过对象直接访问,只有在本类中创建的自己对象,才能访问自己的私有变量。
23、下面有关变量及其作用域的陈述哪些是对的?(ABC)
A、在方法里面定义的局部变量在方法退出的时候被撤销。
B、局部变量只在定义它的方法内有效。
C、在方法外面定义的变量(即实例变量)在对象被构造时创建。
D、在方法中定义的方法的参变量只要该对象被需要就一直存在。
24、下面关于继承的叙述哪些是正确的?(AD)
A、在java中只允许单一继承。
B、在java中一个类只能实现一个接口。
C、在java中一个类不能同时继承一个类和实现一个接口。
D、java的单一继承使代码更可靠。
25、以下声明合法的是(B)
A.default String s;B.public final static native int w( )
C.abstract double d;D.abstract final double hyperbolicCosine( ) 26、类Test1定义如下:
1.public class Test1{
2.public float aMethod(float a,float b){ }
3.
4.}
将以下哪种方法插入行3是不合法的。
(B)
A、public float aMethod(float a,float b,float c){ }
B、public float aMethod(float c,float d){ }
C、public int aMethod(int a,int b){ }
D、private float aMethod(int a,int b,int c){ }
27、下面是Example.java文件的完整代码,请找出会产生编译错误的行(C)。
1) class BaseClass {
2) public String str;
3) public BaseClass(){
4) System.out.println(“ok”);}
5) public BaseClass(String s){
6) str=s;}}
7) class SubClass extends BaseClass{
8) }
9) public class Example{
10) public void method(){
11) SubClass s=new SubClass(“hello”);
12) BaseClass b=new BaseClass(“world”);
13) }
14) }
A、7
B、10
C、11
D、12
28、下面关于类的说法错误的是(B)。
A、类是Java语言中的一种复合数据类型。
B、Java语言的类支持单继承和多继承。
C、类是对所有具有一定共性的对象的抽象。
D、类中包含数据变量和方法。
29、下列关于变量的叙述哪个是错的?(C)
A、实例变量是类的成员变量。
B、在方法中定义的局部变量在该方法被执行时创建。
C、实例变量用关键字static声明。
D、局部变量在使用前必须被初始化。
30、已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式。
C类也位于packageA包,且继承了B类。
则以下说法正确的是(C)。
A、A类的实例不能访问到B类的实例
B、A类的实例能够访问到B类一个实例的x成员
C、C类的实例可以访问到B类一个实例的x成员
D、C类的实例不能访问到B类的实例
31、下面关于Java语言中实例方法和类方法的说法,哪几项是对的?(BC)
A、实例方法可以直接通过类名调用
B、类方法可以直接通过类名调用。
C、实例方法可以操作实例变量也可以操作类变量。
D、类方法可以操作实例变量也可以操作类变量。
32、下面叙述哪些是正确的?(ABC)
A、java中的集合类(如Vector)可以用来存储任何类型的对象,且大小可以自动调整。
但需要事先知道所存储对象的类型,才能正常使用。
B、在java中,可以用异常(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要花费更大的系统开销。
C、java接口包含函数声明和常量声明。
D、java中,子类不可以访问父类的私有成员和受保护的成员。
33、下列说法正确的是(A)。
A. final 可修饰类、属性、方法
B. abstract可修饰类、属性、方法
C. 定义抽象方法需有方法的返回类型、名称、参数列表和方法体
D. 用final修饰的变量,在程序中可对这个变量的值进行更改
34、Java语言的类间的继承关系是(B)。
A. 多重的
B. 单重的
C. 线程的
D. 不能继承
35、下列有关子类继承父类构造函数的描述正确的是(C)。
A. 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数
B. 子类无条件地继承父类不含参数的构造函数
C. 子类必须通过super关键字调用父类的构造函数
D. 子类无法继承父类的构造函数。