java面向对象测试题二_JAVA面向对象-测试题

A

不定项选择题

1.下面关于Java语言中方法的说法错误的是:

A.方法调用时参数类型必须符合方法的定义

B.参数传递是值传递的方式

C.如果方法没有返回值必须声明返回为void

D.如果方法定义为返回void,则方法中不能出现return语句

2.指出下列程序运行的结果

public class Example{

String str=new String("welcome");

char[]ch={‘a','b','c'};

public static void main(String args[]){

Example ex=new Example();

ex.change(ex.str,ex.ch);

System.out.print(ex.str+" and ");

System.out.print(Arrays.toString(ex.ch));

}

public void change(String str,char ch[]){

str="test ok";

ch[0]='g';

}

}

A.welcome and abc

B.welcome and gbc

C.test ok and abc

D.test ok and gbc

3.关于Java对象的删除,下列说法正确的是:

A.必须由程序员完成对象的清除

B.Java把没有引用的对象作为垃圾收集起来并释放

C.只有当程序中调用System.gc()方法时才能进行垃圾收集

D.Java中的对象都很小,一般不进行删除操作

4.下列代码编译或运行的结果是:

public class Foo {

public String doit(int x, int y) {

return "a";

}

public String doit(int[] vals) {

return "b";

}

public static void main(String[] args) {

Foo f=new Foo();

System.out.println(f.doit(4, 5));

}

}

A.代码public String doit(int[] vals) {行,编译出错

B.代码System.out.println(f.doit(4, 5));行,抛出运行时异常

C.输出:a

D.输出:b

5.请看下列代码:

class Inner {

private int x;

public void setX(int x) {

this.x = x;

}

public int getX() {

return x;

}

}

class Outer {

private Inner y;

public void setY(Inner y) {

this.y = y;

}

public Inner getY() {

return y;

}

}

public class Gamma {

public static void main(String[] args) {

Outer o = new Outer();

Inner i = new Inner();

int n = 10;

i.setX(n);

o.setY(i);

System.out.println(o.getY().getX());

}

}

运行上述代码,要求输出“100”,那么处应填入的代码是:

A.n = 100;

B.i.setX( 100);

C.o.getY().setX( 100);

D.i = new Inner(); i.setX( 100); o.setY( i);

6.关于下列代码说法正确的是:

public class Foo {

public int add(int a, int b) {

return a + b;

}

public static void main(String[] args) {

Foo foo = null;

System.out.println(foo.add(10, 20));

}

}

A.编译错误

B.正常运行,但无结果输出

C.运行输出:30

D.运行时抛出NullPointerException异常

7.下列说法正确的有:

A.class中的constructor不可省略

B.constructor必须与class同名,但方法不能与class同名

C.constructor在一个对象被实例化时执行

D.一个class只能定义一个constructor

8.关于 Java 中继承的特点,下列说法正确的是:

A.使类的定义复杂化

B.Java 只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的

C.子类继承父类的所有成员变量和方法,包括父类的构造方法

D.不可以多层继承,即一个类不可以继承另一个类的子类

9.请看下列代码:

class ClassA {}

class ClassB extends ClassA {}

class ClassC extends ClassA {}

public class Test{

public static void main(String[] args) {

ClassA p0 = new ClassA();

ClassB p1 = new ClassB();

ClassC p2

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值