2020级上海电力大学《面向对象程序设计(JAVA)》实验八选择题题目和答案

一、选择题

1、构造方法何时被调用?(B)

A.类定义时           B.创建对象时

C.调用对象方法时        D.使用对象的变量时

2、以下说法正确有几项。(B)

1)  JAVA既支持单继承,也支持多继承。

2) 子类继承父类的成员变量、成员方法、构造函数。

3) 当子类生成对象时,首先调用父类的构造方法,再调用子类的构造方法。√

4) 继承是面向对象三大特点之一。√

A.1 项   B.2项   C.3项   D.全都正确

3、以下哪种初始化数组的方式是错误的? (C)

A. String[]names={"zhang", "wang", "li");

B. String names[] =new String [3]; names [O] ="zhang"; names [1] ="wang"; names [2] ="li";

C. String[3] names={"zhang", "wang", "li"};

 D. 以上皆正确

4、下列哪个工具可以编译java源文件? (A)

A.javac   B.jdb    C.javadoc    D.junit

5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(  A  )。

A. static void method( )         B. public void method( )   

C. final void method( )          D. abstract void method( )

6、参照以下Java代码,以下四个叙述中最确切的是 (b)

class A{

int x; static int y;

void fac(String s){Syatem. out. println("字符串:"+s);} }

A.x、y和s都是成员变量         B.x是实例变量、y是类变量、s是局部变量

C.x和y是实例变量、s是参数     D.x、y和s都是实例变量

7、现有

public class Parentt

public void change (int x){)

)

public class Child extends Parent{

// 覆盖父类change方法

}

下列哪个声明是正确的覆盖了父类的change方法?(C)

A. protected void change (int x){}  B. public void change(int x, int y){}

C. public void change (int x){}     D. public void change (String s){}

8、下列语句序列执行后,k 的值是(  C   )。

int i=10, j=18, k=30;

switch( j - i ) {

case 8 : k++;

case 9 : k+=2;

case 10: k+=3;

default : k/=j;

}  A. 31     B. 32    C.  2    D.  33

9、 要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符 (D)

 A. final   B. public  C. private  D.abstract

10. 涉及类MyClass的方法签名足public void find(MyClass a),那么该方法可接收的实际参数的类型可以是哪些?(选两项)(A,B)

A. MyClass类的类型   B. MyClass子类的类型   C. Object类型        D.所有接口

11、为了使得System.out.println()输出对象引用的时候得到有意义的对象信息我们应该覆盖Object的哪个方法? 

A.equals   B.toString  C.hashCode  D.notify

12、比较s1和s2指向的两个字符串的长度是否相等,如下表达式中正确的是( D )

A.     (s1.equals(s2))                B.   (s1.length( ).equals(s2))

C.     (s1.length( ).equals(s2.length( ))  D.   (s1.length( ) == s2.length( ))

13、在Java类中,使用以下( D)声明语句来定义公有的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;

14、给定Java代码如下所示,在横线处新增下列(AC )方法,是对cal方法的重载。(选2项)

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){ }

15、给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是(B),

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.     正确运行,输出结果为:parent2

         发财小手点个赞 谢谢小哥哥小姐姐们~

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值