当前位置:首页 > JavaOOP阶段小测试1-笔试题
《使用Java实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分)
1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次
3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。 public class Test{
public void cal(int x, int y, int z) {} } A. public int cal(int x, int y, float z){ return 0; } B. public int cal(int x, int y, int z){ return 0; } C. public void cal(int x, int z){ } D. public void cal(int z, int y, int x){ }
4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 5) 下面Java代码的运行结果是()。 class Penguin {
private String name=null; // 名字 private int health=0; // 健康值 private String sex=null; // 性别 public void Penguin() { health = 10;
sex = \雄\ System.out.println(\执行构造方法。\}
public void print() { System.out.println(\企鹅的名字是\ \,健康值是\,性别是\。\}
public static void main(String[] args) { Penguin pgn = new Penguin();
pgn.print(); } } A. 企鹅的名字是null,健康值是10,性别是雄。 B. 执行构造方法。 企鹅的名字是null,健康值是0,性别是null。 C. 企鹅的名字是null,健康值是0,性别是null。 D. 执行构造方法。 企鹅的名字是null,健康值是10,性别是雄。 6) 下列选项中关于Java中封装的说法错误的是()。 A. 封装就是将属性私有化,提供公有的方法访问私有属性 B. 属性的访问方法包括setter方法和getter方法 C. setter方法用于赋值、getter方法用于取值 D. 类的属性必须进行封装,否则无法通过编译
7) 使用Java实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是()。 A. 使用赋值和取值方法访问属性 B. 编写常规方法访问属性 C. 在赋值和取值方法中,加入对属性的存取限制 D. 编写main方法创建对象,调用赋值和取值方法访问属性 8) 分析如下所示的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. 指所在的方法
9) 在Java中,以下程序编译运行后的输出结果为()。 public class Test { int x, y;
Test(int x, int y) { this.x = x; this.y = y; }
public static void main(String[] args) { Test pt1, pt2;
pt1 = new Test(3, 3);
pt2 = new Test(4, 4);
System.out.print(pt1.x + pt2.x); } } A. 6 B. 3 4 C. 8 D. 7
10) 在Java语言中,下列关于类的继承的描述,正确的是()。 A. 一个类可以继承多个父类 B. 一个类可以具有多个子类 C. 子类可以使用父类的所有方法 D. 子类一定比父类有更多的成员方法
11) Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()。 A. C不仅继承了B中的公有成员,同样也继承了A中的公有成员 B. C只继承了B中的成员 C. C只继承了A中的成员 D. C不能继承A或B中的成员
12) 给定一个Java程序Test.java的代码如下所示,编译时,会出现以下()情况。 class Parent {
public int count() { // 第1行 return 0; } }
public class Test extends Parent { private int i; public int count() { // 第2行 return i % 9; // 第3行 } }
A. 编译通过 B. 在第1行引发编译错误 C. 在第2行引发编译错误 D. 在第3行引发编译错误
13) 给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是()。 class Parent1 {
Parent1(String s){
System.out.println(s); } }
class Parent2 extends Parent1{ Parent2(){
System.out.println(\ }
}
public class Child extends Parent2 {
public static void main(String[] args) { Child child = new Child(); } } A. 编译错误:没有找到构造器Child() B. 编译错误:没有找到构造器Parent1() C. 正确运行,没有输出值 D. 正确运行,输出结果为:parent2
14) 给定Java程序Child.java的代码如下所示,则编译运行该类的结果是()。 class Parent { Parent() {
System.out.println(\ } }
public class Child extends Parent { Child(String s) {
System.out.println(s); }
public static void main(String[] args) { Child child = new Child(\ } }
A. 输出:child B. 输出:child parent
C. 输出:parent child D. 编译错误
15) 下列选项中关于Java中super关键字的说法错误的是()。 A. super关键字是在子类对象内部指代其父类对象的引用 B. super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C. 子类可以通过super关键字调用父类的方法 D. 子类可以通过super关键字调用父类的属性
16) 分析如下所示的Java代码,则选项中的说法正确的是()。 class Parent{ public String name; public Parent(String pName){ this.name = pName; } }
public class Test extends Parent { //1 public Test(String Name){ //2
共分享92篇相关文档