Java选择02

14.以下 _____ 不是 Object 类的方法 D
A clone()
B finalize()
C toString()
D hasNext()

解析:
在这里插入图片描述
hasNext()方法是迭代器中的

15.java 语言使用的字符码集是 D
A ASCII
B BCD
C DCB
D Unicode

16.Test.main() 函数执行后的输出是(D)

public class Test {
public static void main(String [] args){
System.out.println(new B().getValue());
}
static class A{
protected int value;
public A(int v) {
setValue(v);
}
public void setValue(int value){
this.value = value;
}
public int getValue(){
try{
value++;
return value;
} catch(Exception e){
System.out.println(e.toString());
} finally {
this.setValue(value);
System.out.println(value);
}
return value;
}
}
static class B extends A{
public B() {
super(5);
setValue(getValue() - 3);
}
public void setValue(int value){
super.setValue(2 * value);
}
}
}

A 11 17 34
B 22 74 74
C 6 7 7
D 22 34 17

解析:这道题有点绕而且考察了一些基础知识点,如果有时间大家可以在电脑上加上断言一步一步进行测试。我是一步一步测了一遍在这里就图解一下。
如图所示:
图一:执行new B()中的super(5)
在这里插入图片描述
图二:执行setValue(getValue() - 3)中的getValue()
在这里插入图片描述
图三:执行31行setValue(getValue() - 3),
在这里插入图片描述
图四:执行new B().getValue()中的getValue()方法,和打印语句
在这里插入图片描述
所以结果就是22 34 17

这里需要注意的小知识点是:

子类继承父类,在调用方法中使用的是谁的对象调用的就是谁的方法,本题中全程只有new一个对象,那就是B的对象,所以一直使用的是B的对象,那么调用的方法优先去B类中查找,如果B类中没有就去他的父类A中查找
try;catch;finally中如果try中返回了某一个值,finally中也返回一个值那么finally中的返回值会覆盖try中的返回值,如果fianlil中没有返回值就直接返回try中的返回值;这个原因是因为try中执行return语句是不会真的返回,而是将返回值先保存在临时栈中,去执行finally语句,如果finally语句中也有return则和try中一样保存到临时栈中,最后从栈顶返回一个元素,所以返回的就是finally中的return;反之如果finally中没有return则返回栈顶元素返回的就是try中的return

17.如何跳出Array的forEach循环?( A)
A break
B return true
C return false
D 以上都不是

解析:可以使用break,return;只有boolean型返回才带有true/false

18.如下Java语句

double x= 3.0; 
int y=5;
x/=--y;

执行后, x的值是(D)
A 3
B 0.6
C 0.4
D 0.75

解析:这道题和Java运算符优先级有关
在这里插入图片描述
19.

    public class Test{
        static int cnt = 6;
        static{
            cnt += 9;
        }
    public static void main(String[] args){
        System.out.println(“cnt =” + cnt);
    }
    static{
        cnt /=3;
        };
    }

cnt的值是 A

A.cnt=5
B.cnt=2
C.cnt=3
D.cnt=6

解析:这道题的纠结点在于静态变量和静态初始化块的执行顺序,这两个是按照代码的顺序执行的

20.JUnit主要用来完成什么 D
A.发送HTTP请求
B.建立TCP连接
C.集成测试
D.单元测试

解析:JUnit是一个Java语言的单元测试框架

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值