day8—选择题

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

public class Test {
    public static void main(String [] args){
        System.out.println(new B().getValue());//17
    }
    static class A{
        protected int value;
        public A(int v) { // v = 5
            setValue(v);//由于子类重写了父类的setValue方法,所以此处会调用子类的setValue方法
        }
        public void setValue(int value){ // 10 22
            this.value = value;// value = 10 22 16
        }
        public int getValue(){
            try{
                value++;//value = 11 17
                return value;//value = 11 17
            } catch(Exception e){
                System.out.println(e.toString());
            } finally {
                this.setValue(value);
                System.out.println(value);//22 34 
            }
            return value;
        }
    }
    static class B extends A{
        public B() {
            super(5);//value = 10
            setValue(getValue() - 3);//11-3=8
        }
        //这里B重写了A的setValue
        public void setValue(int value){// 5 11 8 17
            super.setValue(2 * value);//value = 10 22 16 34
        }
    }
}

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

注意:这道题涉及继承,重写,异常处理,内部类的使用,综合性比较强,可以通过自己调试来找到最后的输出结果

2. JUnit主要用来完成什么(D)

A 发送HTTP请求
B 建立TCP连接
C 集成测试
D 单元测试

JUnit主要用来完成单元测试

补充一个知识:数组不是原生类,它是通过基本类型来定义的;数组存储在堆中的连续空间内

3.下列选项中关于Java中super关键字的说法正确的是(A)

A super关键字是在子类对象内部指代其父类对象的引用
B super关键字不仅可以指代子类的直接父类方法,还可以直接指代父类的父类
C 子类通过super关键字只能调用父类的方法,而不能调用父类的属性
D 子类通过super关键字只能调用父类的属性,而不能调用父类的方法

思路:super关键字可以指代子类的直接父类方法,但是不可以直接指代父类的父类;子类通过super关键字既可以调用父类的属性,也可以调用父类的方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值