首页 > 编程语言 >Java中子类都继承父类的什么?

Java中子类都继承父类的什么?

时间:2024-01-08 14:03:50浏览次数:37  
标签:Java 构造方法 继承 子类 私有 中子 父类 方法 属性


1.构造方法

构造方法不可以被继承的,为什么呢?应为名称的定义,构造方法是一类名称与类名一致,无返回值和类型修饰的一种。所以如果子类继承父类的构造方法的话,那么就违背了构造方法的规定。

2.成员属性

成员属性是可以被继承的,我们要知道,当使用实例化子类的时候,使用new关键字创建子类实例时,JVM在堆内存中为该对象分配空间。这个空间包括子类继承来的成员属性(字段),以及子类自己声明的成员属性。每个对象都有自己的一份实例变量拷贝,无论这些变量是在当前类中定义的还是从父类继承的。

简单的图解

Java中子类都继承父类的什么?_java

私有化属性可以被继承吗

私有化属性(在Java中使用private关键字声明的属性)确实可以被继承,但是它们在子类中不可直接访问。这意味着,尽管子类会继承父类的所有属性,包括私有属性,但是子类不能直接操作这些私有属性,因为它们对子类来说是不可见的。

在Java中,通常会为私有属性提供公共的getter和setter方法来允许外部通过这些方法间接访问和修改私有属性的值,这是一种封装的实践,目的是保护对象的状态不被非法访问和修改。

关于通过反射访问私有属性:Java的反射API确实允许程序在运行时检查和修改对象的状态,即使是私有属性。通过反射,可以绕过访问控制,使得原本不可访问的私有成员变得可访问。

私有化成员方法可以继承吗

答案是不可以的,我们学一个新的概念,虚方法

虚方法指的是非private方法,非static方法,非final方法

虚方法表指的就是虚方法的集合

当继承的时候,实际上继承的是虚方法表的内容,所以私有化成员方法不可以被继承。

虚方法表这种继承可以提高效率,继承虚方法表的话可以直接定位到这个方法,不需要去父类中依次查询了

下面是虚方法表的继承

Java中子类都继承父类的什么?_私有属性_02


是不是直接清晰明了。求个赞

标签:Java,构造方法,继承,子类,私有,中子,父类,方法,属性
From: https://blog.51cto.com/u_16426526/9143947

相关文章

  • JavaScript WebApi 一(详讲)
    基础知识在前面的部分已经讲过了,大家如果没有学习过JavaScript的可以去看一下1.DOM引入在JavaScript中,DOM(文档对象模型)提供了一种表示和操作HTML文档的方式。在DOM中,文档被表示为一个由节点组成的树形结构。DOM对象则是这些节点的抽象表示,它们可以通过JavaScript来访问和操作。DOM......
  • 详解Java死锁-检测与解决
    第1章:引言大家好,我是小黑,咱们今天来聊聊死锁。特别是对于咱们这些Java程序员来说,死锁就像是隐藏在暗处的陷阱,稍不注意就会掉进去。但别担心,小黑今天就来带大家一探究竟,看看怎么样才能避免这个陷阱。什么是死锁?简单来说,死锁就是两个或多个进程互相等待对方释放资源,结果大家都动......
  • Java中的InputStream和OutputStream详解
    引言在Java编程中,处理输入输出是日常任务的一部分,而流(Stream)是实现输入输出的核心概念。在JavaI/OAPI中,InputStream和OutputStream是所有字节流类的基础。本文将详细介绍这两个类及其在Java中的应用。什么是InputStream和OutputStream?InputStream是JavaI/O库中的一个抽象类,它......
  • 使用Jsoup的Java网络爬虫示例:抓取在线考试平台试题数据
    网络爬虫是一种强大的工具,用于从互联网上收集信息。而在Java中,Jsoup是一款常用的HTML解析库,提供了便捷的API来解析、提取和操作HTML数据。在本文中,我们将深入探讨如何利用Jsoup库构建一个Java网络爬虫,并使用代理服务器来抓取在线考试平台的试题数据。介绍Jsoup和网络爬虫首先,我们将......
  • Java医院医学AI智能导诊系统源码
    医院智能导诊系统是一款基于人工智能和大数据技术开发的医疗辅助软件,旨在为患者提供更加便捷、精准的医疗服务。一、什么是智能导诊系统?智能导诊系统是一种基于人工智能和大数据技术开发的医疗辅助软件,它能够通过对患者的症状、病史等信息进行计算分析,快速推荐科室和医生。通过简......
  • Java之序列化的详细解析
     3.序列化3.1概述Java提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反......
  • 详解Java中的原子操作
    第1章:什么是原子操作大家好,我是小黑,面试中一个经常被提起的话题就是“原子操作”。那么,到底什么是原子操作呢?在编程里,当咱们谈论“原子操作”时,其实是指那些在执行过程中不会被线程调度机制打断的操作。这种操作要么完全执行,要么完全不执行,没有中间状态。这就像是化学里的原子,不......
  • Java 的 3 种网络编程的I/O 模型
     在Java的软件设计开发中,通信架构不可避免,我们在进行不同系统或者不同进程之间的数据交互,或者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早期的网络通信架构存在一些缺陷,其中最令人恼火的是基于性能低下的同步阻塞式的I/O通信(BIO),随着......
  • java后台字符串URLencode、URLdecode及Base64加解密转换
    一、URLencode、URLdecode//将application/x-www-from-urlencoded字符串转换成普通字符串StringkeyWord=URLDecoder.decode("%E4%BD%A0%E5%A5%BD","utf-8");System.out.println(keyWord);//输出你好//将普通字符创转换成application/x-www......
  • Java Steam 常用 API
    微信公众号:运维开发故事作者:wanger现在Java17和Java11基本上可以和Java8平分JDK装机比例。下面是我常用的一些StremAPI操作。除了分组、转换、排序,如果大家还有更多常用的API可以一起留言交流。分组List 默认分组过后是Map<Key,List>List<StreamItem>streamLis......