前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java练习本(2019-06-22)

java练习本(2019-06-22)

作者头像
微笑的小小刀
发布2019-06-28 10:51:49
2370
发布2019-06-28 10:51:49
举报
文章被收录于专栏:java技术大本营

题目

代码语言:javascript
复制
public class Test {
    public static void main(String[] args) {
        new C();
    }
}

class A{
    A(){
        System.out.print("A");
    }
}

class B{
    A a = new A();

    B(){
        this("B");
        System.out.print("B");
    }

    B(String str){
        System.out.print(str);
    }
}

class C extends B{
    C(){
        super("C");
        System.out.print("C");
    }
}

上述程序输出的结果为?

A.CC

B.CAA

C.CABB

D.上述答案都错误

答案与解析

1.相关知识

当调用父类的有参构造时不会再去调用父类的无参构造

类成员的声明在构造函数前执行

2.答案解析

main函数中首先new C()

C继承于B,类成员声明在构造函数前执行,因此先执行

A a = new A();调用A的构造函数,输出A

接着调用super("C"),调用B类的有参构造,传递参数C,输出C

继续执行C类的构造函数System.out.print("C");输出C

因此最终输出ACC。

答案选D。

题目分类

重载——定义

题目

public void set(int a, int b, double c){}

请问下列选项中,为上面方法重载的是?

A.private void set(int a, double c, int b){}

B.protected void set(int a, int b, double c){}

C.public int set(int a, double c, int b){return a;}

D.public int set(int a, float c){return a;}

往期回顾

java练习本(2019-06-21)

java练习本(2019-06-20)

java练习本(2019-06-19)

java练习本(2019-06-18)

java练习本(2019-06-17)

java练习本(2019-06-16)

java练习本(2019-06-15)

java练习本(2019-06-14)

java练习本(2019-06-13)

java练习本(2019-06-12)

java练习本(2019-06-11)

java练习本(2019-06-10)

java练习本(2019-06-09)

java练习本(2019-06-08)

java练习本(2019-06-07)

java练习本(2019-06-06)

java练习本(2019-06-05)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java技术大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 答案与解析
    • 1.相关知识
      • 2.答案解析
        • 题目分类
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档