IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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知识库]今天没了解复习或学习新知识,刷了点题,记录一下错题

以下程序的输出结果为
class Base{? ??
? ??public Base(String s){
? ??System.out.print("B");
? ??}
}

public class Derived extends Base{
? ??public Derived (String s) {
? ??System.out.print("D");
? ? }
public static void main(String[] args){
? ??new Derived("C");
? ??}
}

A:BD

B:DB

C:C

D:编译不通过

这道题我一开始选中的A选项,这里也确实容易错,但答案是D,下面让我们来分析一下。

首先我们都知道实例化子类之前会先实例化父类的构造方法。如果说按照这个逻辑,那我们就会先输出B,再输出D,答案成A了?不不不,别忘了,super(),子类的构造方法的第一行都有一个默认的super(),super()会调用父类的无参构造,但是在这个里面我们父类自己定义了一个有参构造,所以我们不会默认生产无参构造,所以就无法实例化我们的子类。想要成功通过编译的话,需要在子类构造方法中加super("这里传参数"),或者是在父类中我们自己再定义一个无参构造。

?

初始化顺序依次是:(静态变量、静态初始化块)–>(变量、初始化块)–> 构造器;如果有父类,则顺序是:父类static方法 –> 子类static方法 –> 父类构造方法- -> 子类构造方法

有关下述Java代码描述正确的选项是( )
public class TestClass {
? ??private static void testMethod() {
? ??System.out.println("testMethod");
? ??}

? ??public static void main(String[] args){
? ??((TestClass)null).testMethod();
? ??}
}

A:编译不通过

B:运行正常,输出testMethod

C:编译通过,运行异常,报NullPointerException

D:编译通过,运行异常,报NoSuchMethodException

刚开始看到这个题目的时候心里就在想null在这里是什么鬼,还可以这样子用??反手就一个编译不通过。结果。。。答案为B。what'up?!一步一步来,首先我们都知道static代表静态方法,静态方法可以通过类名直接访问。且静态方法在类实例化之前就已经加载完了,所以静态方法不能调用非静态方法,但非静态方法可以调用静态方法。接着null是可以被强制转换成任何类型的!!!

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 12:43:31  更:2021-10-04 12:44:30 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码