JAVA继承-注意事项

2023-05-16

JAVA继承

1.子类所有构造器,会隐式调用父类的无参构造器

原理:

子类所有构造器,都会在第一行隐式调用super()。

问题:

如果父类没有无参构造器,编译报错。

解决:

  • 在子类的构造器方法中的第一行指定一个父类带参构造器。
    注意:要在第一行调用带参构造器,否则又会自动隐式调用super(),
  • 或者给父类补上一个无参构造器。

2.final

  • 修饰类

被修饰的类无法被继承,而且所有的方法都是final的,注意:域不是final

public final class FatherClass {
    
}

public class SonClass extends FatherClass{
    
}
报错:Cannot inherit from final 'com.chen.sss.demo.extendsDemo.FatherClass'
翻译:无法继承一个声明为final的类
  • 修饰方法

被修饰的方法无法被重写

//父类方法
public final String getName (){
    return name;
}

//子类方法
public String getName(){

}
报错:'getName()' cannot override 'getName()' in 'com.chen.sss.demo.extendsDemo.FatherClass'; overridden method is final
  • String举例子

例如String,如果有一个String的引用,它引用的一定是一个String对象。因为String对象声明为final,没有子类。

从而无法实现父类引用指向子类对象,引用只能指向本身的对象。

3.强制类型转换

将一个子类的引用赋值给一个超类变量是允许的。

但将一个超类的引用赋值给一个子类变量,是不允许的。

//允许
FatherClass father = new SonClass();
//不允许
SonClass sonClass = new FatherClass();

转换+检查:

if(father instanceof SonClass){//检查类型
    SonClass son = (SonClass) father;//转换
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA继承-注意事项 的相关文章

  • Java将字符串解析为double

    如何解析字符串中的这个 Double 00034800 变成 Double 值 最后两位数字实际上是小数点 所以我正在寻找的结果是348 00 是否有这样的格式可以与十进制格式一起使用 Well String s 00034800 doub
  • 非易失性领域的出版与阅读

    public class Factory private Singleton instance public Singleton getInstance Singleton res instance if res null synchron
  • Java 中的 <-- 是什么? [复制]

    这个问题在这里已经有答案了 我遇到了下面的片段 它输出到4 3 2 1 我从来没有遇到过 lt 在爪哇 Is lt 使 var1 的值变为 var2 的运算符 public class Test public static void mai
  • 为什么在 10 个 Java 线程中递增一个数字不会得到 10 的值?

    我不明白 a 的值为0 为什么 a 不是10 那段代码的运行过程是怎样的 是否需要从Java内存模型来分析 这是我的测试代码 package com study concurrent demo import lombok extern sl
  • 以相反的顺序打印任何集合中的项目?

    我在 使用 Java 进行数据结构和问题解决 一书中遇到以下问题 编写一个例程 使用 Collections API 以相反的顺序打印任何 Collection 中的项目 不要使用 ListIterator 我不会把它放在这里 因为我想让有
  • 什么是内部类的合成反向引用

    我正在寻找应用程序中的内存泄漏 我正在使用的探查器告诉我寻找这些类型的引用 但我不知道我在寻找什么 有人可以解释一下吗 Thanks Elliott 您可以对 OUTER 类进行合成反向引用 但不能对内部类实例进行合成 e g class
  • java中如何知道一条sql语句是否执行了?

    我想知道这个删除语句是否真的删除了一些东西 下面的代码总是执行 else 是否删除了某些内容 执行此操作的正确方法是什么 public Deleter String pname String pword try PreparedStatem
  • getCurrentSession 在网络中休眠

    我正在使用 hibernate 和 jsp servlet 编写一个基于 Web 的应用程序 我读过有关sessionFactory getCurrentSession and sessionFactory openSession方法 我知
  • 为什么 jar 执行的通配符在 docker CMD 中不起作用?

    我有一个Dockerfile与以下CMD启动我的 Spring Boot 应用程序 FROM java 8 jre CMD java jar app file jar 当我尝试从创建的图像启动容器时 我得到 Error Unable to
  • JAXB - 忽略元素

    有什么方法可以忽略 Jaxb 解析中的元素吗 我有一个很大的 XML 文件 如果我可以忽略其中一个大而复杂的元素 那么它的解析速度可能会快很多 如果它根本无法验证元素内容并解析文档的其余部分 即使该元素不正确 那就更好了 例如 这应该只生成
  • 在光标所在行强制关闭!

    嘿 我正在尝试创建一个应用程序来查找存储在 SQlite 数据库中的 GPS 数据 但我面临一个问题 我构建了一个 DbAdapter 类来创建数据库 现在我尝试使用以下函数从另一个类获取所有数据上的光标 public Cursor fet
  • 为什么在将 String 与 null 进行比较时会出现 NullPointerException?

    我的代码在以下行中出现空指针异常 if stringVariable equals null 在此语句之前 我声明了 stringVariable 并将其设置为数据库字段 在这个声明中 我试图检测该字段是否有null值 但不幸的是它坏了 有
  • 为什么解析这个 JSON 会抛出错误?

    我正在尝试解析这个 JSONObject query yahoo count 1 results rate Name USD INR id USDINR Time 12 19pm Date 10 31 2015 Bid 65 405 Ask
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • 类更改(例如字段添加或删除)是否保持 Serialized 的向后兼容性?

    我有一个关于 Java 序列化的问题 在这种情况下 您可能需要修改可序列化类并保持向后兼容性 我有丰富的 C 经验 所以请允许我将 Java 与 NET 进行比较 在我的Java场景中 我需要使用Java的运行时序列化机制序列化一个对象 并
  • 按降序排序映射java8 [重复]

    这个问题在这里已经有答案了 private static
  • 如何向页面添加 HTML 页眉和页脚?

    如何使用 itext 从 html 源添加标题到 pdf 目前 我们已经扩展了 PdfPageEventHelper 并重写了这些方法 工作正常 但当我到达 2 个以上页面时 它会抛出 RuntimeWorkerException Over
  • Lombok 不适用于 Eclipse Neon

    我下载了lombok jar lombok 1 16 14 jar 并将其放入我的下载中 然后我点击这个 jar 执行正确地识别了我的 MacOS 上的 Eclipse 实例 然后我选择了我想要的实例 Lombok也在pom xml中指定
  • 使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作

    是否可以建立从 Java 到 php 文件的桥梁 我有一个用 Java 编写的应用程序 我需要执行http piwik org http piwik org 这是用 PHP 编写的 在服务器中 我正在运行 PHP 但无法从浏览器访问 php
  • Selenium 单击在 Internet Explorer 11 上不起作用

    我尝试在 Internet Explorer 上单击 selenium 但它不起作用 我努力了element click moveToElement element click build perform javascript没事了 事实上

随机推荐

  • u盘写入映像时提示:主引导记录(mbr)写入失败!!

    在使用软件写入U盘镜像时 xff0c 出现下面的提示 xff1a 解决方法是使用DiskGenius重新建立MBR
  • debian SID安装笔记

    1 声卡设置问题 添加了声卡驱动 xff0c 但是进入桌面没有声音 xff1f 一般是没有给用户使用设备的权限 解决方法 xff1a adduser audio eg adduser jerry audio xff08 解决 xff09 你
  • ubuntu下vncserver配置

    Ubuntu下设置VNCServer Virtual Network Computing VNC 是进行远程桌面控制的一个软件 客户端的键盘输入和鼠标操作通过网络传输到远程服务器 xff0c 控制服务器的操作 服务器的图形界面通过网络传输会
  • vsftp配置实例-虚拟用户锁定目录

    一 实验步骤 1 创建用户 创建ftpuser1登录用户 useradd g ftp d share soft s sbin nologin ftpuser1 为ftpuser1设置登录密码 passwd ftpuser1 2 编辑配置文件
  • 基于51的光立方制作

    单片机入门者必然会从点亮一盏LED灯开始 xff0c 如果LED数量比较多 xff0c 就不能使用单个引脚去控制 xff0c 例如光立方 xff0c 利用锁存器和人体的视觉暂留效果就可以占用少量引脚实现光立方 所需材料 xff1a STC8
  • 如何实现无界面Android app

    如何实现无界面Android app 前言代码实现AndroidManifest xmlMainActivity javaMyService java 前言 在Android开发中 xff0c 可能会遇到只需要在后台运行服务 xff0c 不
  • 惊呆面试官的回答:HashMap和TreeMap的区别

    前几天 xff0c 有一位粉丝在直播间问了我这样一个问题 xff0c 说HashMap和TreeMap有什么区别 今天 xff0c 我给大家分享一下我的理解 1 两者区别 我们知道不管是HashMap还是TreeMap xff0c 都是通过
  • postgresql|【基于pg_basebackup命令的归档备份和恢复---热备冷恢复方式】

    一 xff0c 基本原理和步骤 备份 xff1a 使用pg basebackup命令来进行备份 xff0c 这个命令可以将postgresql的数据文件备份为两个压缩文件 xff1a base tar和 pg wal tar 本别是数据文件
  • js获取对象属性的两种方式

    一 如果属性名称是常量 xff08 固定值 xff09 xff0c 获取属性值的方式有 xff1a 1 对象 属性名称 如 obj age 2 对象 属性名称 如 obj age 二 如果属性名称是一个变量 xff0c 值不固定 xff0c
  • 关于Eclipse的Unhandled event loop exception No more handles

    今天用了公司一台电脑做开发 xff0c 在运行eclipse以及myeclipse点击java代码窗口内部时 xff0c 都遇到如下图所示的问题 xff1a 上网查了一下错误的原因 xff1a 因为一些进程和eclipse起了冲突 下面我来
  • IDEA较新版本,编译xml文件(src/main/java下的xml等)

    IDEA较新版编译src main java下的文件 问题 xff1a 原因 xff1a 解决 xff1a 实际应用代码 xff1a 问题 xff1a 在导入新项目时 xff0c 由于项目中整合了Mybatis xff0c 一些mapper
  • IDEA 2018.3.2 版本配置SVN

    IDEA 2018 3 2 版本配置SVN 1 首先安装TortoiseSVN2 配置IDEA3 IDEA开启SVN 1 首先安装TortoiseSVN 安装的过程中 xff0c 需要勾选command line client tools
  • springmvc 上传文件,单个文件,多个文件

    1 Java代码部分 xff1a 1 1spring配置 xff1a span class token operator lt span span class token operator span span class token ope
  • Jquery实现免上传预览图片功能

    Demo如下 span class token doctype lt DOCTYPE html gt span span class token tag span class token tag span class token punct
  • jQuery :not() 选择器

    JQ选择器 xff0c 不选择某些标签 基础用法 xff1a p not class 多个not p not class not id span class token doctype lt DOCTYPE html gt span spa
  • 弱智笔记 js用==比较 空字符串==0,返回true

    span class token keyword if span span class token punctuation span span class token string 34 34 span span class token o
  • PHP7+apache2.4环境搭建

    PHP 43 apache环境搭建 版本 xff1a PHP Version 7 1 30 apache2 4 下载 xff1a 下载php时 xff0c 注意下载VC14 x64 Thread Safe xff0c 否则没有php7apa
  • JAVA构造器注意事项

    JAVA构造器 1 JAVA默认提供无参构造器 2 默认无参构造器 对域进行初始化规则 数值型 xff1a 0 布尔类型 xff1a false 对象类型 xff1a null 3 如果自己写了一个带参构造器 xff0c 默认的无参构造器失
  • 原生大数据|elasticSearch|低版本kibana组件的汉化

    前言 xff1a 大数据的范畴里包括EFK ELK xff0c 这些套件安装部署是非常的成熟 xff0c 因此是比较好部署安装的 xff0c 一般的 xff0c 困难出现在部署完成后的运营和维护 kibana这个组件的版本低于7我们就应该认
  • JAVA继承-注意事项

    JAVA继承 1 子类所有构造器 xff0c 会隐式调用父类的无参构造器 原理 xff1a 子类所有构造器 xff0c 都会在第一行隐式调用super 问题 xff1a 如果父类没有无参构造器 xff0c 编译报错 解决 xff1a 在子类