继承知识点—详细

一:普通写法
package extend_;public class Extends01 {public static void main(String[] args) {Pubil pubil = new Pubil();pubil.name="小明";pubil.age=18;pubil.testing();pubil.setScore(60);pubil.showInfo();System.out.println("-------------------------");Graduate graduate = new Graduate();graduate.name="王二狗";pubil.age=20;pubil.testing();pubil.setScore(80);pubil.showInfo();}
}
package extend_;//小学生
public class Pubil {public String name;public int age;private double score;public void setScore(double score) {this.score = score;}public void testing() {System.out.println("小学生"+name+"正在考小学数学");}public void showInfo(){System.out.println("小学生名"+name+"年龄"+age+"成绩"+score);}
}
package extend_;public class Graduate {public String name;public int age;private double score;public void setScore(double score) {this.score = score;}public void testing() {System.out.println("大学生"+name+"正在考大学数学");}public void showInfo(){System.out.println("小学生名"+name+"年龄"+age+"成绩"+score);}
}


二:用继承方法写
结构为:

Extend01类:
package extend_.improve_;import extend_.Graduate;
import extend_.Pubil;public class Extend01 {public static void main(String[] args) {extend_.Pubil pubil = new Pubil();pubil.name="小明";pubil.age=18;pubil.testing();pubil.setScore(60);pubil.showInfo();System.out.println("-------------------------");extend_.Graduate graduate = new Graduate();graduate.name="王二狗";pubil.age=20;pubil.testing();pubil.setScore(80);pubil.showInfo();}
}
Graduate类:
package extend_.improve_;public class Graduate extends Student {public void testing() {System.out.println("大学生 "+name+" 正在考大学数学");}
}
Pubil类:
package extend_.improve_;//让Public 继承 Student类
public class Pubil extends Student{public void testing() {System.out.println("小学生 "+ name +" 正在考小学数学");}
}
Student类:
package extend_.improve_;//父类,是Public 和 Graduate 的父类
public class Student {public String name;public int age;private double score;//共有的方法public void setScore(double score) {this.score = score;}public void showInfo(){System.out.println("学生名为 "+name+" 年龄"+age+" 成绩 "+score);}}
三:继承的细节
1.


注:我们发现 n4 和 test400() 爆错了,因为:私有属性和方法不能在子类中直接访问!!!,我们该怎么做才能访问呢?
答:要通过父类提供公共的方法去访问。
2.
package extend_;public class Base {public int n1=100;protected int n2=200;int n3=300;private int n4=400;public Base() { //无参构造器System.out.println("父类Base()被调用");}//父类提供一个public的方法,返回n4public int getN4(){return n4;}public void CallTest400(){test400();}public void test100(){System.out.println("Base test100");}protected void test200(){System.out.println("Base test200");}void test300(){System.out.println("Base test300");}private void test400(){System.out.println("Base test400");}
}


注:先调用父类的构造器,在调用子类的构造器。为什么会调用呢,因为子类的无参构造器里面有super()命名(默认调用子类的无参构造器),可写可不写。
2.1


注:由上面一个图可知,无论怎么样,都先调用父类的无参构造器!!!
2.2:如果父类没有提供无参构造器,该怎么办?
该代码的无参构造器没有了,有一个有参构造器,(无参构造器被覆盖了)
package extend_;public class Base {public int n1=100;protected int n2=200;int n3=300;private int n4=400;// public Base() { //无参构造器//System.out.println("父类Base()被调用");// }public Base(String name,int age ){ //有参构造器System.out.println("父类Base(String name,int age )被调用");}//父类提供一个public的方法,返回n4public int getN4(){return n4;}public void CallTest400(){test400();}public void test100(){System.out.println("Base test100");}protected void test200(){System.out.println("Base test200");}void test300(){System.out.println("Base test300");}private void test400(){System.out.println("Base test400");}
}
上面有二个地方爆错
2.2:解决办法(加super指定调用父类中的哪个构造器)
运行效果:

四:继承的内存布局

package extend_;public class ExtendsTheory {public static void main(String[] args) {Son son=new Son();System.out.println(son.name);System.out.println(son.age);System.out.println(son.hobby);}
}class GrandPa{ //爷类String name="大头爷爷";String hobby="旅游";
}class Father extends GrandPa{ //父类String name="大头爸爸";int age=30;
}class Son extends Father{ //子类String name="大头儿子";
}
注意事项:
运行结果:
五:super和this关键字


相关文章:
继承知识点—详细
一:普通写法 package extend_;public class Extends01 {public static void main(String[] args) {Pubil pubil new Pubil();pubil.name"小明";pubil.age18;pubil.testing();pubil.setScore(60);pubil.showInfo();System.out.println("-----------…...
设备管理VTY(Telnet、SSH)
实验目的:物理机远程VTY通过telnet协议登录AR1,ssh协议登录AR2和sw 注意配置Cloud1: 注意!!博主的物理机VMnet8--IP:192.168.160.1,所以AR1路由0/0/0端口才添加IP:192.168.160.3,每个…...
Linux 中 Git 使用指南:从零开始掌握版本控制
目录 1. 什么是 Git? Git 的核心功能: 2. Git 的安装 Ubuntu/Debian 系统: 验证安装: 3.gitee库 4. Git 的首次配置 配置用户名和邮箱: 查看配置: 5. Git 的基本使用 初始化仓库 添加文件到暂存区…...
Linux 中的 likely 和 unlikely
1. 源码 # define likely(x) __builtin_expect(!!(x), 1) # define unlikely(x) __builtin_expect(!!(x), 0) 实际上就是通过GCC 的内建函数 __builtin_expect() 进行编译优化: long __builtin_expect (long exp, long c) 该函数是告诉编译器:参…...
CSS -属性值的计算过程
目录 一、抛出两个问题1.如果我们学过优先级关系,那么请思考如下样式为何会生效2.如果我们学习过继承,那么可以知道color是可以被子元素继承使用的,那么请思考下述情景为何不生效 二、属性值计算过程1.确定声明值2.层叠冲突3.使用继承4.使用默…...
百度贴吧IP和ID是什么意思?怎么查看
在百度贴吧这一充满活力的网络社区中,IP和ID是两个频繁出现的概念。它们各自承载着不同的意义和作用,对于贴吧用户而言,了解这两个概念有助于更好地参与社区互动、保护个人隐私以及维护社区秩序。本文将详细解析百度贴吧中IP和ID的含义&#…...
SpiderX:专为前端JS加密绕过设计的自动化工具
SpiderX 一、工具概述 SpiderX是一款专为解决前端JS加密问题而设计的自动化绕过工具。在网络安全领域,随着前端加密技术的普及,传统的爬虫和自动化测试工具在面对复杂的JS加密时显得力不从心。SpiderX应运而生,旨在通过自动化手段高效绕过前…...
基于银河麒麟系统ARM架构安装达梦数据库并配置主从模式
达梦数据库简要概述 达梦数据库(DM Database)是一款由武汉达梦公司开发的关系型数据库管理系统,支持多种高可用性和数据同步方案。在主从模式(也称为 Master-Slave 或 Primary-Secondary 模式)中,主要通过…...
【AWS入门】AWS云计算简介
【AWS入门】AWS云计算简介 A Brief Introduction to AWS Cloud Computing By JacksonML 什么是云计算?云计算能干什么?我们如何利用云计算?云计算如何实现? 带着一系列问题,我将做一个普通布道者,引领广…...
适合企业内训的AI工具实操培训教程(37页PPT)(文末有下载方式)
详细资料请看本解读文章的最后内容。 资料解读:适合企业内训的 AI 工具实操培训教程 在当今数字化时代,人工智能(AI)技术迅速发展,深度融入到各个领域,AIGC(人工智能生成内容)更是成…...
【数据结构与算法】Java描述:第四节:二叉树
一、树的相关概念 编程中的树是模仿大自然中的树设计的,呈现倒立的结构,我们着重掌握 二叉树 。 1.1 基本概念: 结点的度:一个结点有几个子结点,度就是几; 如上图:A的度为3 树的度࿱…...
【一起来学kubernetes】14、StatefulSet使用详解
一、核心特性二、架构与组件三、生命周期管理四、典型应用场景**五、注意事项与最佳实践六、对比Deployment一、应用场景二、Pod管理三、部署与更新策略四、其他特性 七、常见问题八、拓展 前文中我们介绍了k8s中常用的一种控制器 Deployment,与之向对应的ÿ…...
Day5 结构体、文字显示与GDT/IDT初始化
文章目录 1. harib02b用例(使用结构体)2. harib02c用例3. harib02d用例(显示字符图案)3. harib02e用例(增加字符图案)4. harib02g用例4.1 显示字符串4.2 显示变量值 5. harib02h用例(显示鼠标&a…...
AI第一天 自我理解笔记--微调大模型
目录 1. 确定目标:明确任务和数据 2. 选择预训练模型 3. 数据预处理 (1) 数据清洗与格式化 (2) 划分数据集 (3) 数据加载与批处理 4. 构建微调模型架构 (1) 加载预训练模型 (2) 修改模型尾部(适配任务) (3) 冻结部分层(可…...
ClientAbortException问题分析
最近遇到一个问题,在设备采数据数据上报后频繁发生ClientAbortException异常,一种处理方案是ClientAbortException 问题分析-CSDN博客 一、ClientAbortException 的触发与影响 1. 定义与场景 ClientAbortException 是后端服务器(如 Tomc…...
系统思考全球化落地
感谢加密货币公司Bybit的再次邀请,为全球团队分享系统思考课程!虽然大家来自不同国家,线上学习的形式依然让大家充满热情与互动,思维的碰撞不断激发新的灵感。 尽管时间存在挑战,但我看到大家的讨论异常积极ÿ…...
【开原宝藏】30天学会CSS - DAY1 第一课
下面提供一个由浅入深、按步骤拆解的示例教程,让你能从零开始,逐步理解并实现带有旋转及悬停动画的社交图标效果。为了更简单明了,以下示例仅创建四个图标(Facebook、Twitter、Google、LinkedIn),并在每一步…...
钉钉项目报销与金蝶系统高效集成技术解析
钉钉报销【项目报销类】集成到金蝶付款单【画纤骨】的技术实现 在企业日常运营中,数据的高效流转和准确对接是提升业务效率的关键。本文将分享一个具体的系统对接集成案例:如何将钉钉平台上的项目报销数据无缝集成到金蝶云星空的付款单系统中。本次方案…...
Python——代码格式
代码格式 良好的代码格式可以提升代码的可读性。和其他语言不同,Python 代码的格式是 Python 语法的组成之一,不符合 Python 代码无法正常运行。 注释 注释是代码中穿插的辅佐性质的文字,用于标识代码的含义和功能,可以提高程序…...
Datawhale coze-ai-assistant:Task 1 了解 AI 工作流 + Coze的介绍
学习网址:Datawhale-学用 AI,从此开始 工作流(Workflow)是指完成一项任务或目标时,按照特定顺序进行的一系列活动或步骤。它强调在计算机应用环境下的自动化,通过将复杂的任务拆分成多个简单的步骤,每一步都…...
深度学习 Deep Learning 第3章 概率论与信息论
第三章 概率与信息论 概述 本章介绍了概率论和信息论的基本概念及其在人工智能和机器学习中的应用。概率论为处理不确定性提供了数学框架,使我们能够量化不确定性和推导新的不确定陈述。信息论则进一步帮助我们量化概率分布中的不确定性。在人工智能中,…...
GStreamer —— 2.15、Windows下Qt加载GStreamer库后运行 - “播放教程 1:Playbin 使用“(附:完整源码)
运行效果 介绍 我们已经使用了这个元素,它能够构建一个完整的播放管道,而无需做太多工作。 本教程介绍如何进一步自定义,以防其默认值不适合我们的特定需求。将学习: • 如何确定文件包含多少个流,以及如何切换 其中。…...
MYsql—1
1.mysql的安装 在windows下安装mysql,直接官网搜索即可:http://www.mysql.com/,自己找想要的版本进行download,官网长这样 安装路径需要是英文路径,设置默认即可,若安装执行内容时报错,则AltCt…...
位运算(基础算法)
按位与AND( & ) 只有当两个位都为1时,结果才为1,否则为0。结果不会变大 按位或 OR( | ) 只有当两个位中有一个为1时,结果才为1,否则为0。结果不会变小 按位异或 XOR ( ^ ) 只…...
硬件地址反序?用位操作为LED灯序“纠偏”。反转二进制数即可解决
特别有意思,LED的灯序与其硬件地址刚好相反,没办法直接通过加1实现二进制进位的亮灯操作,查了一些资料说用数组和switch实现,觉得太麻烦了,思索良久,就想到了反转二进制数解决这个问题。 reverse_bits( )是…...
如何让ai问答机器人通人性?
领域专用的问答机器人,数据是灵魂。通用模型的问题在于,它们虽然知识广博,但对特定领域的深度理解不足。解决这个问题的第一步,就是构建一个高质量的领域知识库。 数据要精准且全面 想让机器人真正“懂”一个领域,数…...
AI绘画笔记--基础知识
一.什么是AI绘画 AI绘画或者说AI生图,本质上来说还是图像生成技术,是一种基于深度学习的人工智能技术,通过提前大量学习学习图像特征,生成符合提示词的新图像。 整个流程可以简化理解为:人们首先让深度学习模型读取大量…...
图解AUTOSAR_CP_BSWMulticoreLibrary
AUTOSAR BSW 多核库详解 AUTOSAR基础软件多核操作库详细解析 目录 架构概述 1.1. 组件架构 1.2. API结构 1.3. 错误处理流程详细设计 2.1. 基础数据类型 2.2. 接口说明 2.3. 错误处理机制使用指南 3.1. 配置说明 3.2. 典型应用场景 3.3. 注意事项 1. 架构概述 1.1. 组件架构 …...
热key探测技术架构设计与实践
参考: 得物热点探测技术架构设计与实践 Redis数据倾斜与JD开源hotkey源码分析揭秘 京东热点检测 HotKey 学习笔记 hotkey: 京东App后台中间件,毫秒级探测热点数据,毫秒级推送至服务器集群内存,大幅降低热key对数据层查询压力 …...
【微服务】java中http调用组件深入实战详解
目录 一、前言 二、http调用概述 2.1 什么是http调用 2.1.1 http调用步骤 2.2 HTTP调用特点 2.3 HTTP调用应用场景 三、微服务场景下http调用概述 3.1 微服务开发中http调用场景 3.2 微服务组件中http的应用 四、常用的http调用组件 4.1 java中常用的http组件介绍 4…...


