| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 今天没了解复习或学习新知识,刷了点题,记录一下错题 -> 正文阅读 |
|
[Java知识库]今天没了解复习或学习新知识,刷了点题,记录一下错题 |
以下程序的输出结果为 A:BD B:DB C:C D:编译不通过 这道题我一开始选中的A选项,这里也确实容易错,但答案是D,下面让我们来分析一下。 首先我们都知道实例化子类之前会先实例化父类的构造方法。如果说按照这个逻辑,那我们就会先输出B,再输出D,答案成A了?不不不,别忘了,super(),子类的构造方法的第一行都有一个默认的super(),super()会调用父类的无参构造,但是在这个里面我们父类自己定义了一个有参构造,所以我们不会默认生产无参构造,所以就无法实例化我们的子类。想要成功通过编译的话,需要在子类构造方法中加super("这里传参数"),或者是在父类中我们自己再定义一个无参构造。 ? 初始化顺序依次是:(静态变量、静态初始化块)–>(变量、初始化块)–> 构造器;如果有父类,则顺序是:父类static方法 –> 子类static方法 –> 父类构造方法- -> 子类构造方法 有关下述Java代码描述正确的选项是( ) A:编译不通过 B:运行正常,输出testMethod C:编译通过,运行异常,报NullPointerException D:编译通过,运行异常,报NoSuchMethodException 刚开始看到这个题目的时候心里就在想null在这里是什么鬼,还可以这样子用??反手就一个编译不通过。结果。。。答案为B。what'up?!一步一步来,首先我们都知道static代表静态方法,静态方法可以通过类名直接访问。且静态方法在类实例化之前就已经加载完了,所以静态方法不能调用非静态方法,但非静态方法可以调用静态方法。接着null是可以被强制转换成任何类型的!!! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 18:52:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |