Java程序设计补充习题(2面向对象部分)
第二部分面向对象程序设计
注意:选择题为不定项选择
1、以下哪些是Java的修饰符()
A. static
B. final
C. protected
D. const
2、面向对象技术的特性是()
A、继承性
B、有效性
C、多态性
D、封装性
3、下列哪个命题为真?()
A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
4、关于子类与父类关系的描述正确的是()
A、子类型的数据可以隐式转换为其父类型的数据;
B、父类型的数据可以隐式转换为其子类型的数据;
C、父类型的数据必须通过显式类型转换为其子类型的数据;
D、子类型实例也是父类型的实例对象。
5、读程序,以下可以在main()方法中添加的语句是哪些?()class Test{
private float f=1.0f;
int m=12;
static int n=1;
public static void main(String args[]){
Test t=new Test();
//...
}
}
A. t.f
B. this.n
C. Test.m
D. Test.n
6、下面哪个关键字不是用来控制对类成员的访问的?()
A、public
B、protected
C、default
D、private
7、Java语言正确的常量修饰符应该是()
A、final
B、static final
C、static
D、public static final
8、接口的所有成员域都具有、static和属性。
9、接口的所有成员方法都具有和属性。
10、编译下列源程序会得到哪些文件?()
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、私有方法不能被子类重写。
B、子类可以重写超类中的任何方法。
C、重写方法可以声明自己抛出的异常大于那个被重写的方法。
D、重写方法中的参数清单必须是被重写方法参数清单的子集。
12、关于类继承的说法,正确的是()。
A、Java 类允许多重继承
B、Java接口允许多继承
C、接口和类都允许多继承
D、接口和类都不允许多继承
13、使用以下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?()
A)abstract B)private
C)protected D)不使用保留字
14、为了区分重载多态中同名的不同方法,要求( )。
A. 采用不同的参数列表
B. 返回值类型不同
C. 调用时用类名或对象名做前缀
D. 参数名不同
15、下述概念中不属于面向对象方法的是()。
A.对象、消息B.继承、多态C.类、封装D.过程调用
16、下列关于构造方法的叙述中,错误的是()java重载
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
17、执行以下程序,哪些方法可以加入类Child中?()
public class Parent{
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {
}
A. int addValue( int a, int b ){// }
B. public void addValue (){// }
C. public int addValue( int a ){// }
D. public int addV alue( int a, int b )throws MyException {//}
18、下列哪个类的声明是正确的?()
A.abstract final class HI{} B.abstract private move(){} C.protected private number; D.public abstract class Car{}
19、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()
A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
20、在Java中,关于final关键字的说法正确的是()。
A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被重写。
D、如果修饰方法,则该方法所在的类不能被继承。
21、在Java中,下面关于包的陈述中正确的是()。
A、包的声明必须是源文件的第一句代码。
B、包的声明必须紧跟在import语句的后面。
C、只有公共类才能放在包中。
D、可以将多个源文件中的类放在同一个包中。
22、下面有关私有变量和私有方法的声明,哪些叙述是对的?()
A、用关键字private修饰的成员变量和方法,称为私有变量和私有方法。
B、用关键字protected修饰的成员变量和方法,称为私有变量和私有方法。
C、用关键字public修饰的成员变量和方法,称为私有变量和私有方法。
D、私有变量不能通过对象直接访问,只有在本类中创建的自己对象,才能访问自己的私有变量。
23、下面有关变量及其作用域的陈述哪些是对的?()
A、在方法里面定义的局部变量在方法退出的时候被撤销。
B、局部变量只在定义它的方法内有效。