面向对象部分测试题
考试宣言:
同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!
我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!
本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。
1. 下列说法哪个正确? ( ABC )
A. 一个程序可以包含多个源文件
B. 一个源文件中只能有一个公共类
C. 一个源文件中可以有多个类
D. 一个源文件只能供一个程序使用
2. 以下关于Object类说法错误的是(B )。
A. 一切类都直接或间接继承自Object类
B. 接口也继承Object类
C. Object类中定义了toString()方法
D. Object类在java.lang包中
3. 在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,下面哪一个选项不属于多态的条件(B )。
A. 子类重写父类的方法
B. 子类重载同一个方法
C. 要有继承或实现
D. 父类引用指向子类对象
4. 编译运行如下Java代码,输出结果是( D )。
class Base {
public void method(){
System.out.print ("Base method");
}
}
class Child extends Base{
public void methodB(){
System.out.print ("Child methodB");
}
}
class Sample {
public static void main(String[] args) {
Base base = new Child();
hodB();
}
}
A. Base method
B. Child methodB
C. Base method Child MethodB
D. 编译错误
5. 下面说法正确的是( ABCD )。
A. final 可修饰类、属性(变量)、方法
B. abstract可修饰类、方法
C. 抽象方法只有方法声明,没有方法体
D. 关键字final和abstract不能同时使用
6. 在Java接口中,下列选项中属于有效的方法声明是(A )。
A. public void aMethod();
B. final void aMethod();
C. void aMethod(){}
D. private void aMethod();
7. 下面说法中错误的是 (D)
A. 静态代码块类一加载只执行一次 , 以后再创建对象的时候不执行
B. 局部代码块的作用是为了限制变量的生命周期
C. 构造代码块在每创建一次对象就执行一次
D. 以上都不对
8. 下面哪些关键字能用来控制对类成员的访问(AC )?
A. public
B. protected
C. private
D. default
9. 给定如下Java代码 , 以下( AB )方法可以加入Child类中。
public class Parent{
int change(){
//此处省略N行代码
}
}
Class Child extends Parent{
//(此处可以放入下面哪个选项java接口可以创建对象吗)
}
A. public int change(){}
B. int show(int i){}
C. private int change(){}
D. abstract int change(){}
10. 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用( C )关键字来声明父类的这些方法。
A. final
B. static
C. abstract
D. void
11. 下面关于变量及其范围的陈述哪些是对的? ( ACD)?
A. 实例变量(区别于类变量,属于对象的变量)是类的成员变量。
B. 实例变量用关键字static声明。
C. 在方法中定义的局部变量在该方法被执行时创建
D. 局部变量在使用前必须被初始化。
12. 给定两个java程序,如下:
public interface Face{
int counter = 40;
}
public class Test implements Face{
private static int counter;
public static void main(String[]args){
System.out.println(++counter);
}
}
Test.java 的编译运行结果是( D)。
A. 40
B. 41
C. 0
D. 1
13. 关于abstract不能和哪些关键字共用正确的是(ABC)
A. abstract不可以和private共用
B. abstract不可以和static共用
C. abstract不可以和final共用
D. abstract不可以和public共用
14. Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是(A )。
A. C可以继承B中的公有成员,同样也可以继承A中的公有成员
B. C只继承了B中的成员
C. C只继承了A中的成员
D. C不能继承A或B中的成员
15. 给定java程序,如下:
public class Test{
private static final int counter=10;
public static void main(String [] args){
System.out.println(++counter);
}
}
编译运行Test.java,结果是 (C )
A. 10
B. 11
C. 编译错误
D. 运行时出现异常
16. 给定一个Java程序代码,如下:(B)
public class Test{
int count = 9;
public void count1(){
int count =10;
System.out.println("count1="+count);
}
public void count2(){
System.out.println("count2="+count);
}
public static void main(String args[]){
Test t=new Test();
t.count1();
t.count2();
}
}
编译运行后,输出结果是
A. count1=9 count2=9
B. count1=10 count2=9
C. count1=10 count2=10
D. count1=9 count2=10
17. 按照课堂要求在类中定义构造方法和set方法,关于这两个方法描述错误的是( D )
A. 构造方法是用来创建对象或者初始化成员数据的
B. set方法是为对象中成员变量赋值的
C. 带参构造在创建对象的时候也可以为成员变量赋值
D. 类中的带参构造方法与set方法功能是完全重复的,可以只选其一
18. 程序Test.java编译运行后输出的结果是( A )。
public class Test {
String s1="java";
public static void main(String args[]) {
int z=2;
Test t=new Test();
System.out.println(t.s1+z);
}
}
A. java2
B. 2
C. 没有输出结果
D. java
19. 用于定义类成员的访问控制权的一组关键字是( D )。
A. class, float, double, public
B. float, boolean, int, long
C. char, extends, float, double
D. public, private, protected
20. 给定java代码,如下:编译运行,结果是 (A)
public static void main (String [] args){
String s;
System.out.println(“s=”+s);
}
A. 编译错误
B. 编译通过,但出现运行时错误
C. 正常运行,输出s=null
D. 正常运行,输出s=
21. 关于类和对象的叙述正确的是:(A )
A.Java的类分为两大部分:系统定义的类和用户自定义的类
A.Java的类分为两大部分:系统定义的类和用户自定义的类
B.类的静态属性和全局变量(成员变量)的概念完全一样,只是表达形式不同
C.编写一个类时,该类成员至少要有一个成员变量和一个成员方法
D.类是对象的实例化
22. 给出下面的不完整的类代码
class Person {
String name, department;
int age;
public Person(String n){ name = n; }
public Person(String n, int a){ name = n; age = a; }
public Person(String n, String d, int a) {
// 完成Person(String n, int a)的逻辑
department = d;
}
}
下面的哪些表达式可以加到构造方法中的注释处? ( C )
A. Person(n,a);
B. this(Person(n,a));
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论