JAVA期末复习题..doc
文本预览下载声明
Java基础部分面向对象
选择题
1、阅读下列程序:
public class Test {
public static void main (String[]args) {
String foo = args[1];
String bar = args[2];
String baz = args[3];
System.out.printIn(“baz = ” + baz);
}
}
输出结果是:
baz = 2
给出的四个命令参数中,哪一个可以得出正确的输出结果( )。
A. Java Test 2222
B. Java Test 1 2 3 2
C. Java Test 4 2 2 3
D. Java Test 43 21 2
2、分析如下所示的Java代码,其中this关键字的意思是( )。
public class Test {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name; //this关键字所在的行
}
}
A.?name属性?
? B.?Test类的内部指代自身的引用??
C.?Test类的对象引用Test类的其他对象??
D.?指所在的方法
3、在Java中,下面对于构造函数的描述正确的是( )。
A.?类必须显式定义构造函数??
B.?构造函数的返回类型是void?
C.?构造函数和类有相同的名称,并且不能带任何参数??
D.?一个类可以定义多个构造函数
4、下列选项中关于Java中封装的说法错误的是( )。
A.?封装就是将属性私有化,提供公有的方法访问私有属性??
B.?属性的访问方法包括setter方法和getter方法??
C.?setter方法用于赋值、getter方法用于取值??
D.?类的属性必须进行封装,否则无法通过编译
5、下列选项中关于Java中super关键字的说法错误的是( )。
A. super关键字是在子类对象内部指代其父类对象的引用
B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C. 子类可以通过super关键字调用父类的方法
D. 子类可以通过super关键字调用父类的属性
6、构造函数何时被调用( )
A、创建对象时 B、类定义时
C、使用对象的方法时 D、使用对象的属性时
7、给定如下一个Java源文件Child.java,编译并运行,以下结果正确的是( )。
class Parent1 {
Parent1(String s){
System.out.println(s);
}
}
class Parent2 extends Parent1{
Parent2(){
System.out.println(parent2);
}
}
public class Child extends Parent2 {
public static void main(String[] args) {
Child child = new Child();
}
}
A. 编译错误:没有找到构造器Child()
B. 编译错误:没有找到构造器Parent1()
C. 正确运行,没有输出值
D. 正确运行,输出结果为:parent
9、阅读下列程序
class BaseClass{
private float x= 1.0f;
protected void setVar (float f) {x = f;}
}
class SubClass extends BaseClass {
private float x = 2.0f;
//代码插入行
}
以下哪个选项是对父类函数正确的覆盖? ( )
A. Void setVar(float f) {x = f;}
B. Public void setVar(int f) {x = f;}
C. Public void setVar(float f) {x = f;}
D. Public double setVar(float f) {x = f;}
10、方法的重载必须满足的条件是( )
A、参数的个数不同,或者是参数的类型不同 B、参数的顺序不同
C、方法的名字不同 D、返回类型不同
12、看下面一段程
显示全部