Java基础——继承

联想X3650M5服务器双模式切换实战:UEFI与Legacy BIOS如何选择? 本文深入探讨了联想X3650 M5服务器在UEFI与Legacy BIOS启动模式间的选择策略。文章从技术原理、决策矩阵、实战切换步骤及后期验证等方面,为企业IT管理员提供了基于操作系统兼容性、存储架构、安全合规与运维习惯的完整决策框架,帮助其在数据中心硬件生命周期管理中做出明智选择。 阅读详情

继承

继承是Java的一种机制,字面体现其中存在父子关系(IS-A)。在面向对象的编程思想中,可以形象的理解为苹果作为一种水果,它继承了水果的所有属性。

在Java编程中,我们可以创建父类构建基础属性和方法,通过继承重复使用父类的属性和方法,同时子类可以扩展新的属性和方法,还可以重写父类的方法。这样即提高了代码的重用,又保证了方法的多态。不过,Java中子类只能继承一个父类,这样也是为了降低复杂度,避免多继承造成的冲突,产生混乱。(PS:需要多继承时,可以通过接口实现。)

通过以下代码示例体会继承:

继承体验代码目录结构

父类

package edu.droy.study.parents;

/**
 * @Author : Droy
 * @Date : 16:02 2018-9-29
 * @Description :父类定义带餐构造函数,函数makeNoise.
 */
public class AnimalParent {

    public String voice;

    public AnimalParent(String voice){
        this.voice = voice;
        System.out.println("parent>cons>"+this.voice);
    }

    public void makeNoise(){
        System.out.println("parent>"+voice);
    }
}

子类1

package edu.droy.study.subs;

import edu.droy.study.parents.AnimalParent;

/**
 * @Author : Droy
 * @Date : 16:13 2018-9-29
 * @Description :继承并重写父类makeNoise函数,使用super调用父类makeNoise函数.
 */
public class AnimalDog extends AnimalParent {

    private String voice;

    public AnimalDog(String voice){
        super(voice);
        this.voice=voice;
    }

    @Override
    public void makeNoise(){
        System.out.println("dog>"+voice);
        super.makeNoise();
    }

}

子类2

package edu.droy.study.subs;

import edu.droy.study.parents.AnimalParent;

/**
 * @Author : Droy
 * @Date : 16:07 2018-9-29
 * @Description :继承并重写makeNoise函数.
 */
public class AnimalPig extends AnimalParent {

    private String voice;

    public AnimalPig(String voice){
        super(voice);
        this.voice = voice;
    }

    @Override
    public void makeNoise(){
        System.out.println("pig>"+voice);
    }
}

子类3

package edu.droy.study.subs;

import edu.droy.study.parents.AnimalParent;

/**
 * @Author : Droy
 * @Date : 16:21 2018-9-29
 * @Description :单纯继承父类.
 */
public class AnimalParentSub extends AnimalParent {

    private String voice;

    public AnimalParentSub(String voice) {
        super(voice);
        this.voice = voice;
    }

}

执行

package edu.droy.study.mains;

import edu.droy.study.subs.AnimalDog;
import edu.droy.study.subs.AnimalParentSub;
import edu.droy.study.subs.AnimalPig;

/**
 * @Author : Droy
 * @Date : 16:23 2018-9-29
 * @Description :执行子类,查看具体效果.
 */
public class AnimalMain {

    public static void main(String[] args) {
        AnimalPig pig = new AnimalPig("main>oink...");
        pig.makeNoise();

        AnimalDog dog = new AnimalDog("main>whool...");
        dog.makeNoise();

        AnimalParentSub parentSub = new AnimalParentSub("main>sub...");
        parentSub.makeNoise();
    }

}

执行以上代码我们可以清楚的认识到Java中继承的基础过程。

思考篇

  1. @Override注解不必须,但是建议书写,可以帮助我们检查重写方法是否正确,错误时会抛出异常提示。
  2. 当父类存在带参构造函数时,子类应在构造函数第一行书写super(param1…)。
  3. 重写与重载的区别,就看函数的参数是否相同,相同则为重写,不同(类型、数量)就是重载。典型重载就是多种构造函数。
  4. 多态,多种形态,一个方法实现多种效果,继承里的重写,接口里的实现。
视觉Transformer实战 | Transformer详解与实现 本文系统介绍了 Transformer 架构的核心原理与实现。相比传统 RNN 和 CNN,Transformer 凭借自注意力机制有效捕捉序列中的长距离依赖关系,支持并行训练,显著提升效率。其核心创新在于通过查询、键、值向量计算注意力权重,理解单词间的语义关联。架构包含编码器-解码器结构:编码器通过多头自注意力和前馈网络提取输入特征;解码器利用掩码自注意力和交叉注意力生成输出。本文使用 PyTorch 实现了缩放点积注意力、位置编码、层归一化等关键模块,并构建了完整的 Transformer 模型。 阅读详情

相关推荐

别再怕DRIVER_VERIFIER_DMA_VIOLATION蓝屏:手把手教你用WinDbg分析IOMMU与驱动冲突

本文深入解析DRIVER_VERIFIER_DMA_VIOLATION蓝屏错误,从IOMMU原理到实战排错,手把手教你使用WinDbg分析驱动冲突。通过理解DMA与IOMMU的核心机制、搭建分析环境、解读DMAR表与设备拓扑,最终定位问题驱动并提供解决方案,帮助开发者和IT运维人员有效应对此类系统崩溃问题。

weixin_30298497的博客 801

1. 定义一个Animal类(包名cn.edu.ahtcm.model)要求如下2.定义一个Dog类(包名cn.edu.ahtcm.model)要求如下

定义一个Animal类(包名cn.edu.ahtcm.model)要求如下 (1)定义成员变量:名称name,体重weight,颜色color,成员变量定义为私有的,同时生成相应的get和set方法; (2)包括void动态方法run()(输出“Animal run fastly”);void eat()(输出“Animal eat something”),以及受保护的叫方法shout()(输出“Animal shout”) (3)定义重载方法run(String name),输出谁跑得快 (4)包括有参.

winds_tide的博客 9333

CTF实战:手把手教你用Python破解转轮机加密(附完整脚本)

本文详细介绍了如何使用Python逆向破解转轮机加密,特别针对CTF比赛中的Crypto类题目。通过解析转轮机加密原理、实战Python脚本编写及调试技巧,帮助参赛者快速掌握破解方法,提升在攻防世界等CTF比赛中的解题效率。

silver的专栏 1115

20165301陈潭飞2017-2018-2 20165301 实验三《Java面向对象程序设计》实验报告

2017-2018-2 20165301 实验三《Java面向对象程序设计》实验报告 一、敏捷开发与XP实践-1 实验要求: 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。提交截图,加上自己学号水印。 public class CodeStandard { public static voi...

weixin_30535843的博客 318

华为AR3260路由器NAT回流配置实战:从WEB界面到命令行的完整避坑指南

本文详细解析了华为AR3260路由器NAT回流(Hairpin NAT)的配置原理与实战方法。针对内网用户无法通过公网地址访问内部服务器的常见问题,文章不仅剖析了WEB界面配置的常见报错原因,更提供了清晰、可靠且一劳永逸的命令行(CLI)配置方案与排错指南,帮助企业网络工程师彻底解决内外网访问不一致的难题。

u6v7w8x的博客 872

AIGC实战——变分自编码器(Variational Autoencoder, VAE)

变分自编码器通过在模型中引入随机性,并限制潜空间中的点的分布来解决自编码器存在的问题。只需进行一些微小的调整,就可以将自编码器转换为变分自编码器,从而使其成为真正的生成模型。在本节中,我们介绍了变分自编码器的基本原理,并使用 `Keras` 实现了一个变分自编码器用于生成 Fashion-MNIST 图像。

盼小辉丶的博客 1万+

Java错题集锦

这是个人做错了的题目,记录到该博客,题目后面会附带上网上搜索到的资料以及个人理解,如果有不正确的地方,请拍砖。 1、结构型模式中最体现扩展性的模式是() A.装饰模式 B.合成模式 C.桥接模式 D.适配器 答案:A 解析:结构型模式是描述如何将类对象结合在一起,形成一个更大的结构,结构模式描述两种不同的东西:类与类的实例。故可以分为类结构模式和对象结构模式。 在GoF设计模式中,结...

maijia0754的博客 1579

uniapp(全端兼容)-最新详细实现接入腾讯云IM即时通讯教程,uniapp在安卓苹果app端/小程序/h5移动端等集成使用腾讯云im插件,提供消息列表与聊天对话示例,支持发图片/私聊/实时监听消息

uni-app,腾讯云IM,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,im即时通讯,腾讯云IM详细教程,如何接入腾讯IM即时通讯,使用腾讯im有没有插件,怎么使用腾讯云IM插件,tim-wx-sdk,聊天sdk,即时通讯im uniapp私聊/群聊/聊天室,实现IM即时通讯仿微信聊天功能,对接腾讯云IM+音视频,调用腾讯即时通信IM的示例,卡顿很卡不流畅,音视频,全局监听,仿微信IM,uni-huanxin-im,sdk,实现多端实时通

✅ 精选推荐文章 1万+

Java基础编程题目——编写Cat类和Dog类继承Animal类

public class text { public static void main(String[] args) { Cat cat = new Cat(); Dog2 dog = new Dog2(); cat.setAge(6); cat.setName("大花猫"); dog.setAge(8);...

美好事物 2万+

从零开始创建Davinci Configurator配置工程

本文介绍了从零开始搭建达芬奇工程的详细步骤。首先安装Vector的CBD包后,通过DavicCFG.exe新建空白ECU工程。文章提到Postbuild相关概念可参考往期文章《AUTOSAR配置中的PostBuild、Precompile、Linktime》,并预告下期将讲解如何通过导入DBC文件来启用AUTOSAR模块。全文以实操截图为主,步骤清晰简明,适合开发者参考备份。

Xiaowestwind的博客 217

机器视觉应用工程师职位深度解析与面试指南

广东奥普特科技招聘机器视觉应用工程师,要求大专以上理工科专业背景,熟悉C/C++或PLC编程,具备自动化设备调试经验。岗位职责包括视觉项目方案评估、系统安装调试、售后技术支持及异常处理,需接受外派出差。该职位面向专业对口的应届生或实习生,强调动手能力、沟通技巧和吃苦耐劳精神。机器视觉工程师需掌握图像处理算法、硬件配置等核心技术,在工业自动化领域具有良好发展前景。求职者应注重编程能力和实践经验的积累,以胜任这一技术密集型岗位。

郑伟强dev的专栏 430

Java基础_继承

Java基础_继承

weixin_64977805的博客 191

RGB渐变颜色转换公式及例程

设Step=51,将RGB(255,0,0)颜色渐变为RGB(0,255,0),即RGB(255,0,0)经过51次颜色渐变转为RGB(0,255,0);设Step=51,将RGB(0,255,0)颜色渐变为RGB(0,0,255),即RGB(0,255,0)经过51次颜色渐变转为RGB(0,0,255);设Step=51,将RGB(0,0,255)颜色渐变为RGB(255,0,0),即RGB(0,0,255)经过51次颜色渐变转为RGB(255,0,0);分步骤的方式,使其渐变色循环整个颜色值;

1万+

Java基础之封装、继承、多态笔记

Java基础之封装、继承、多态笔记

weixin_43345286的博客 378

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java基础之继承和多态

上回文章中说过,Java中使用类和对象来进行对所有事务的描述,类经过实例化之后形成一个个的对象,但是事务存在共同特征时,则可以使用继承来实现代码的复用,例如:当定义了一个动物类的时候,动物们都会吃饭和睡觉,你就可以定义吃饭和睡觉的方法在动物类中,而当你想再定义一个猫的类和狗的类时,你也需要定义吃饭和睡觉类,这时候,如果再次定义,就会显得代码的利用率很低,那么,我们就可以使用继承,因为猫和狗也都会睡觉和吃饭,那么,我们就可以把猫和狗类定义为动物类的子类,此时,就可以少写重复的代码,下面代码就可以说明。

m0_74847533的博客 1772

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java继承终极指南:从基础到高级应用

继承是面向对象编程的四大特性之一(封装、继承、多态、抽象),它允许一个类(子类)基于另一个类(父类)来构建,继承父类的属性和方法,同时可以添加新的特性或修改继承的行为。专业解释:继承是一种"is-a"关系,通过extends关键字实现类之间的层次结构,子类获得父类的非私有成员(属性和方法),并可进行扩展或覆盖。通俗理解:就像儿子继承父亲的某些特征(如眼睛颜色),但也可以有自己的独特特征(如发型)。在编程中,继承让我们可以复用已有代码,减少重复劳动。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 966

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java基础(八):封装、继承、多态性

从类的定义来看,类是一类具有相同特性的事物的抽象描述。而实例变量和实例方法就是事物的特征,那么父类中声明的实例变量和实例方法代表子类事物也有这个特征。如果子类构造器中既未显式调用父类或本类的构造器,且父类中又没有空参的构造器,则。所以继承意味着子类的对象除了看子类的类模板还要看父类的类模板。问题:在创建子类对象的过程中,一定会调用父类中的构造器吗?一个引用类型变量可能指向(引用)多种不同类型的对象。特别说明:应该避免子类声明和父类重名的成员变量。问题:创建子类的对象时,内存中到底有几个对象?

从基础到源码解析的学习记录 2983

java基础之继承[20]

java基础之继承[20]

FlymaAqi,芜湖,飞马阿起,passion!passion! 121

Java基础 - 类的继承

面向对象是Java语言的核心,在Java中所有的类都继承于 java.lang.Object。当一个类没有显式使用继承的两个关键字(extends, implements),则默认继承 Object类。面向对象是现代软件设计模式的基础。合理利用它,不仅可以增强代码的可扩展性和复用性,同时也提高开发效率和降低维护成本。关于面向对象的详细介绍,请参考我的另一篇文章“面向对象编程详解”。这篇文章主要介绍Java的面向对象编程特性。

weixin_38008415的博客 1064

超详细JAVA基础——继承

学会JAVA继承,只看这一篇文章就够了!

qq_45781655的博客 3万+

java基础之类继承

本文是我将网上有关类继承方面的笔试题加以消化整理,希望通过此种方式来巩固自己的基础知识,同时也希望这些笔试题对其它朋友有所帮助,文中内容如若涉及到他人的版权或是隐私请通知我,我会在第一时间对文章内容进行处理操作,最后也希望看到此文的朋友对文中的内容给予批评指正,风尘在此先行谢过!Ok,现在进入正题: /////////////////////////////////类继承初始化方法调用相关笔试题

moudaen的专栏 1682

Java基础复习(继承、多态)

 Java基础复习,记录自己的学习过程,同时也为初学者或者是一些不经常写Java的朋友们回忆起java基本语法

Y3036359510的博客 1460

Java基础之浅谈继承、多态

Python微信订餐小程序课程视频 https://edu.youkuaiyun.com/course/detail/36074 Python实战量化交易理财系统 https://edu.youkuaiyun.com/course/detail/35475 一、继承的理解 继承:简单通俗的来讲,继承就是一个类继承另一个类,通常用extends表示继承。 继承的类叫子类,被继承的类叫父类。 子类可以使用父类的变量和方法,同时也可以重写父类的方法。 在Java中没有多继承这一概念,但是有类似多继承的方法!(通常来讲一个父类可以有多个

「 虚幻私塾」 209

关于Java继承方面的基础知识汇总

kjslkdasjldkaslkdj

astudycat的博客 343

Java基础——继承&抽象

Java基础——继承&抽象

qq_43798150的博客 535

java中继承的定义如何编写_java继承的基础知识

1. java基础的继承怎么用Java继承初始化顺序 初始化相当于执行类的构造方法 1.初始化父类再初始化子类对象 2.先执行初始化对象中的属性,再执行构造方法中的初始化 final关键字 使用final关键做标识有"最终的"含义 final可以修饰类、方法、属性、变量 final修饰类,则该类不允许被继承。类似C#.sealed final修饰方法,则该方法不允许被覆盖 final修饰属性...

weixin_34596012的博客 388
上一篇: Dataverse生产环境部署方案
下一篇: struts2+jasperreport集成方案
Droy`Z
博客等级 码龄19年 75粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值