类的封装与继承习题(题)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.以下关于继承的叙述正确的是( C )。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
2.有继承关系时用到的关键字是(A )。( 2 分)
A:extend
B:extends
C:implements
D:implement
3:Java变量中,以下不属于复合类型的数据类型是( D)。( 2 分)
A:类
B:字符型
C:数组型
D:接口
4:java中定义数组名为abc,下面(B )可以得到数组元素的个数。( 2 分)
A:abc.length( )
B:abc.length
C:len(abc)
D:ubound(abc)
5:下列说法正确的是(A )。( 2 分)
A:编译后的Java源程序根据文件中定义的类和接口的个数产生相应个数的.class 字节码文件。
B:Java语言的源文件中不是任何地方都可以加注释的。
C:一个文件中可以有多个访问权限为public的类。
D:含有main()方法的类可以为public的类,也可以为其他类。
6:在调用构造函数时(C )( 2 分)
A:子类可以不加定义就使用父类的所有构造函数
B:不管类中是否定义了何种构造函数,创建对象时都可以使用默认构造函数C:先调用父类的构造函数
D:先调用形参多的构造函数
7:Java与C/C++比较说法错误的是(D)。( 2 分)
A:Java不提供goto语句,所以也就没指定goto作为关键字。
B:Java没有指针。
C:Java没有联合和结构
D:Java只有单继承没有多重继承。
8:若需要定义一个类域或类方法,应使用( B)修饰符。( 2 分)
A:static
B:package
C:private
D:public
9:下列说法( C)是正确的。( 2 分)
A:程序执行到break语句是一定会结束所有的循环
B:程序执行到continue语句时会结束当前循环
C:break语句和continue语句都可以和标签协同使用
D:continue语句和break语句的作用相同
10:以下说法正确的是(D )。( 2 分)
A:每个Java类都至少有一个构造方法,如果没有则机器自动生成一个默认的构造方法。
B:如果类里定义了一个或多个构造方法,那么java也提供默认的构造方法
C:每个Java类中用户必须定义至少一个构造方法。
D:以上都不对
11:对封装的理解正确的是(A )。( 3 分)
A:封装就是把对象的属性和行为结合成一个独立的单位。
B:封装就是把对象完全隐蔽起来,不让外界访问。
C:封装性是一个使用问题。
D:封装和抽象是一回事。
12:对成员的访问控制保护最强的是(C )。( 3 分)
A:public
B:缺省
C:private
D:protected
13:类Test1定义如下:
1.public class Test1{
2. public float aMethod(float a,float b){ }
3.
4.} 将以下( B)方法插入行3是不合法的。( 3 分)
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){ }
14关于构造函数的说法( B)正确。( 2 分)
A:一个类只能有一个构造函数
B:一个类可以有多个不同名的构造函数
C:构造函数与类同名
D:构造函数必须自己定义,不能使用父类的构造函数
15:关于以下程序段,正确的说法是(D )。
1.String s1=”abc”+”def”; 2.String s2=new String(s1);3.if(s1= =s2)4.System.out.println(“= = succeeded”); 5.if (s1.equals(s2)) 6.System.out.print ln(“.equals() succeeded”);( 2 分)
A:程序将输出:= = succeeded
B:程序将输出:.equals() succeeded
C:程序将输出:= = succeeded .equals() succeeded
D:程序无输出
16:关于以下程序代码的说明正确的是( C)。
1.class HasStatic{ 2.private static int x=100;3.public static void main(String args[ ]){ 4.HasStatic hs1=new HasStatic( ); 5.hs1.x++; 6.HasStatic hs2=new HasStatic( ); 7.hs2.x++; 8.hs1=new HasStatic( ); 9.hs1.x++; 10.HasStatic.x- -; 11.System.out.println(“x=”+x); 12.} 13.}( 2 分)
A:5行不能通过编译,因为引用了私有静态变量
B:10行不能通过编译,因为x是私有静态变量
C:程序通过编译,输出结果为:x=103
D:程序通过编译,输出结果为:x=102