【nowcoder】笔试强训Day8

目录

一、选择题

二、编程题 

2.1两种排序方法

 2.2最小公倍数


一、选择题

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

A super关键字是在子类对象内部指代其父类对象的引用 

B super关键字不仅可以指代子类的直接父类,还可以直接指代父类的父类

C 子类通过super关键字只能调用父类的方法,而不能调用父类的属性

D 子类通过super关键字只能调用父类的属性,而不能调用父类的方法

super关键字是在子类对象内部指代其父类对象的引用,子类通过super关键字可以调用父类的方法和属性,super关键字只能指代直接父类,不能指代父类的父类。

所以正确答案是

2.A派生出子类B,B派生出子类C,并且在java源代码中有如下声明: 以下哪个说法是正确的?

A a0=new A();
A a1=new B();
A a2=new C();

A 第1行,第2行和第3行的声明都是正确的

B 第1,2,3行都能通过编译,但第2,3行运行时出错

C 第1,2行能通过编译,但第3行编译出错

D 只有第1行能通过编译

在派生关系中,A派生B,B派生C,B和C都可以利用A类对象创造实例。

所以正确答案是 A 

3.以下说法错误的是()

A 数组是一个对象

B 数组不是一种原生类

C 数组的大小可以任意改变

D 在Java中,数组存储在堆中连续内存空间里

数组就是一个对象,不是一种原生类,数组的大小长度是固定的不能改变。数组存储是在堆中的连续内存空间里。

所以正确答案是 C 

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

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() -
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世界级白日梦冠军

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值