Java 继承后成员的隐藏与重写(示例详解)

 更新时间:2025年10月31日 09:40:34   作者:我命由我12345  
在Java中,继承是一种允许新类(子类)继承另一个类(父类)的成员(包括字段、方法等)的特性,本文给大家介绍了Java 继承后成员的隐藏与重写,感兴趣的朋友跟随小编一起看看吧

Java 继承后成员的隐藏与重写

1、子类没有定义成员

  1. BaseCommonStore.java
public class BaseCommonStore {
    public static final String TAG = "TAG:" + BaseCommonStore.class.getSimpleName();
    public static void sayHello() {
        System.out.println(TAG + " sayHello");
    }
    public String tag = "tag:" + BaseCommonStore.class.getSimpleName();
    public void sayOk() {
        System.out.println(tag + " sayOk");
    }
}
  1. CommonStore.java
public class CommonStore extends BaseCommonStore {
}
  1. test
System.out.println(CommonStore.TAG);
CommonStore.sayHello();
CommonStore commonStore = new CommonStore();
System.out.println(commonStore.tag);
commonStore.sayOk();
# 输出结果
TAG:BaseCommonStore
TAG:BaseCommonStore sayHello
tag:BaseCommonStore
tag:BaseCommonStore sayOk

2、子类定义同名成员

  1. BaseCommonStore.java
public class BaseCommonStore {
    public static final String TAG = "TAG:" + BaseCommonStore.class.getSimpleName();
    public static void sayHello() {
        System.out.println(TAG + " sayHello");
    }
    public String tag = "tag:" + BaseCommonStore.class.getSimpleName();
    public void sayOk() {
        System.out.println(tag + " sayOk");
    }
}
  1. CommonStore.java
public class CommonStore extends BaseCommonStore {
    public static final String TAG = "TAG:" + CommonStore.class.getSimpleName();
    public static void sayHello() {
        System.out.println(TAG + " sayHello");
    }
    public String tag = "tag:" + CommonStore.class.getSimpleName();
    public void sayOk() {
        System.out.println(tag + " sayOk");
    }
}
  1. test
System.out.println(CommonStore.TAG);
CommonStore.sayHello();
CommonStore commonStore = new CommonStore();
System.out.println(commonStore.tag);
commonStore.sayOk();
# 输出结果
TAG:CommonStore
TAG:CommonStore sayHello
tag:CommonStore
tag:CommonStore sayOk

小结

成员示例 1示例 2
静态变量继承父类隐藏父类
静态方法继承父类隐藏父类
实例变量继承父类隐藏父类
实例方法继承父类重写父类

到此这篇关于Java 继承后成员的隐藏与重写(示例详解)的文章就介绍到这了,更多相关java隐藏与重写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用IDEA打jar包的详细图文教程

    使用IDEA打jar包的详细图文教程

    JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,被称为JAR包,下面这篇文章主要给大家介绍了关于使用IDEA打jar包的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • maven helper jar包冲突的几种解决方法

    maven helper jar包冲突的几种解决方法

    maven Helper是排查jar包冲突的一大利器,jar包冲突大部分是由于引用了同一个jar的不同版本而导致的,本文主要介绍了maven helper jar包冲突的几种解决方法,感兴趣的可以了解一下
    2024-03-03
  • Java中LinkedHashSet的底层机制详解

    Java中LinkedHashSet的底层机制详解

    这篇文章主要介绍了Java中LinkedHashSet的底层机制解读,   LinkedHashSet是具有可预知迭代顺序的Set接口的哈希表和链接列表实现,此实现与HashSet的不同之处在于,后者维护着一个运行于所有条目的双重链接列表,需要的朋友可以参考下
    2023-09-09
  • 详解Spring MVC/Boot 统一异常处理最佳实践

    详解Spring MVC/Boot 统一异常处理最佳实践

    在 Web 开发中, 我们经常会需要处理各种异常,这篇文章主要介绍了详解Spring MVC/Boot 统一异常处理最佳实践,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • SpringBoot开发详解之Controller接收参数及参数校验

    SpringBoot开发详解之Controller接收参数及参数校验

    数据校验是为了使系统更完整,数据更精确,同时也有利于维护数据的安全性,下面这篇文章主要给大家介绍了关于SpringBoot开发详解之Controller接收参数及参数校验的相关资料,需要的朋友可以参考下
    2022-03-03
  • MyBatisPlus使用@TableField注解处理默认填充时间的问题

    MyBatisPlus使用@TableField注解处理默认填充时间的问题

    这篇文章主要介绍了MyBatisPlus使用@TableField注解处理默认填充时间的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 可能是全网最详细的springboot整合minio教程

    可能是全网最详细的springboot整合minio教程

    MinIO是全球领先的对象存储先锋,在标准硬件上,读/写速度上高达183 GB/秒和171 GB/秒,下面这篇文章主要给大家介绍了关于springboot整合minio的相关资料,这个教程可能是全网最详细的,需要的朋友可以参考下
    2022-06-06
  • SpringBoot 单元测试实战(Mockito,MockBean)

    SpringBoot 单元测试实战(Mockito,MockBean)

    这篇文章主要介绍了SpringBoot 单元测试实战(Mockito,MockBean),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • RocketMQ4.5.X 实现修改生产者消费者日志保存路径

    RocketMQ4.5.X 实现修改生产者消费者日志保存路径

    这篇文章主要介绍了RocketMQ4.5.X 实现修改生产者消费者日志保存路径方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 详解Java的类加载机制及热部署的原理

    详解Java的类加载机制及热部署的原理

    今天我要讲的就是Java的热部署的原理,由于热部署的原理和类的加载机制有关,所以打算讲一下类加载的机制,文中介绍的非常详细,需要的朋友可以参考下
    2021-05-05

最新评论