重载、重写以及构造方法

【Java基础篇】重载与重写、构造方法的区别详解 提到重载与重写,大家最熟悉的地方莫过于自己封装一个枚举类或者框架中的底层实现类吧?我们经常用着底层的框架技术,但是底层的原理可能不太明白。下面我就来通过Java类的三大特性——封装、继承、多态的具体实现:重载与重写来深入剖析Java的设计原理,让大家可以简简单单写底层源码!... 阅读详情

重载(overload)

1.重载建立在继承之上的。
2.只跟重载方法的参数和个数有关系。
3.属于多态中的一种。
4.子类可以对父类继承过来的方法的重载。

无参和带参的构造方法就属于重载
1.参数的个数不同
2.参数的类型不同

在People文件里:
这里写图片描述
在Test(测试)文件里:
这里写图片描述


重(覆)写(overrite)

概念:子类中出现与父类一模一样的方法时,会出现子类方法将父类方法覆盖的情况,这种情况成为重写或者复写

特点:
1.建立在继承基础之上
2.子类对象执行这个重写方法时,只执行此重写方法,不会执行从父类继承过来的同名方法。重写方法覆盖从父类继承过来的方法。
3.子类的权限不能小于父类的权限。

重写注意事项
(1)父类中的私有方法不可以被重写,覆盖!
(2)子类重写父类方法后,继续使用父类的方法时候,可以使用super调用
(3) 重写时,子类的方法的访问权限要大于或者等于父类成员方法的访问权限
(4)静态方法只能被静态方法覆盖
(5)子类对于父类的功能有增强需求的时候,可以重写父类的方法以增强其功能!

重载何时使用:
当一个类中需要完成某个相同功能,但是方法的参数不同需要分别进行操作时!

重写与重载的区别

重写:子父类之间,方法完全相同(返回值、方法名、参数列表), 但是子父类之间的方法体必须不同,否则没有意义!
重载:同一个类中,方法名相同,参数列表不同,与返回值无关!(参数列表:包括两项:参数个数,对应参数的数据类型)


构造方法

a、子类中所有的构造方法默认都访问父类中无参构造

b、每个构造方法的第一行是super();super(参数列表);如果把这两行代码放在非第一行位置会报错

c、根据构造方法的特性,在手动给出任意一个构造方法的时候,之前默认的无参构造会被覆盖,此时具有继承关系的时候,子类之前默认存在的每个构造都调用无参构造super();失效,此时必须在每个构造方法中手动给出super(参数列表);的方式直接或间接调用之前手动在父类中给出的构造

d、构造方法执行了一定会创建相应对象吗?
不一定,当具有继承关系的类时,子类创建对象的时候会调用父类的构造方法,用来初始化父类的成员变量这个时候父类的构造执行了,但是内存中并没有父类的对象!

e、构造方法是否可以被重写或者继承?
不可以,因为构造方法名需要与类名相同,假如出现继承或者重写关系,就会有子类中有一个与父类的类名相同的构造方法,但是又由于构造方法需要与类名相同,此时子类类名需要与构造相同,这个时候就会出现父类与子类的类名相同,父类类名==构造方法名==子类类名,不能存在同名的类!

类结构(代码模型):

Public class Phone{
// 1.属性的定义区域
Pricate double price;
// 2.构造方法
public Phone(){
}
// 3.setter和getter定义区域
public void setBrand(String brand){
}
// 4.普通方法
Public void call(){
}
}
POJO 简单的java类(MVC中M即model)
POJO 有哪些要求?

1 类名称必须有意义。明确可以描述某一类事物,比如动物,汽车。。。
2 类中的属性必须private修饰,封装后的属性使用setter和getter方法
3 类中可以定义多个构造方法,但是必须保留一个无参的构造方法(反射使用)
4 类中不允许出现任何的输出语句,所有的输出都通过调用来完成。
5 类中可以提供一个获取对象完整信息的方法
6 类中没有复杂的逻辑结构(判断,循环几乎没有),只是一个单纯显示类的基本信息。

构造方法、方法的重载以及方法的重写 Java中的构造方法、方法的重载以及方法的重写。 (1) 什么是方法签名? 方法签名就是方法名称和参数列表的统称。即:方法签名=方法名称+参数列表。 (2) 构造方法 Java中的每一个类都有一个默认的无参构造方法,构造方法在类被实例化的时,自动被调用。 构造方法的作用 初始化参数。即:给成员变量赋初值。 调用方法。 构造方法的特征 方法名与类名相同,并且没有返回值(连void都没... 阅读详情

相关推荐

AES128加密算法开发(含源码)

本文详解了AES128加密算法的原理与C语言实现。AES128是当前广泛使用的对称加密标准,采用128位密钥和10轮变换,具有高安全性和高效性。文章从算法背景、核心概念(混淆与扩散)入手,详细解析了4×4状态矩阵表示、4个核心变换(字节替换、行移位、列混合、轮密钥加)以及密钥扩展过程。特别针对汽车电子应用场景,如ECU通信加密、车钥匙认证等,说明了AES128在资源受限环境中的优势。通过分步图解和原理剖析,帮助开发者深入理解这一加密标准的技术细节与实现方法。

汽车电子软件开发笔记 2918

Java入门教程||Java 继承||Java 重写(Override)与重载(Overload)

方法的重写 (Overriding) 和重载 (Overloading) 是 java 多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。(1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载 (Overloading)。(2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写 (Overriding)。

爱编程的鱼的博客 1953

基于Pixhawk与OpenMV的无人机视觉引导精准降落系统设计与实现

本文详细介绍了基于Pixhawk飞控与OpenMV视觉模块的无人机精准降落系统设计与实现。系统通过OpenMV识别Apriltag标签,结合MAVLink通信将视觉数据发送给Pixhawk,实现厘米级精准降落。文章涵盖硬件连接、软件配置、核心代码逻辑解析及实战调试技巧,为无人机自动充电、物流配送等场景提供可靠解决方案。

weixin_29189377的博客 320

我的Java学习笔记

<br />说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。<br /><br />作用域    当前类 同一package 子孙类 其他package <br />public     √     √          √      √ <br />protected  √     √          √      × <br />friendly   √     √          ×      × <br />private    √     ×          ×   

xieqzsu的专栏 496

EWM与SAP ERP的数据集成

1、EWM与 SAPERP的无缝集成-基础数据&业务交易数据 2、SAP ERP设置:连接SAP ERP和EWM必须设置应用程序连接支持-ALE(Application Link Enabling) 3、ERP - EWM仓库数据集成: SAP ERP需要设置配置信息,连接ERP和EWM之间的库存管理应用,基于工厂+库存地点对应一个仓库号来进行配置; 在ERP中需要创建一个中间虚拟仓库,代表ERP仓库;“中间虚拟”仓库创建之后,工厂+库存地点的信息...

weixin_43899798的博客 3797

MIT 18.03 微分方程 ODE 学习笔记分享——目录

从B站上看到了MIT 微分方程的课程,觉得老爷子讲的真好! 其实微分方程对于工科来说相当重要,但是很多学习也仅把他放在高数里作为单独的一个章节来讲,这是远远不够的。所以对于同学们来说 ,一定要认真听讲,做好笔记! 以下是我的个人学习比较分享。有需要的同学可以做一个参考。 注:个人认为笔记的作用是用来回想起课堂所讲的内容(细节),所以我的笔记风格为以老师讲课思路为准,板书为辅。建议刚开始听这门课的同...

weixin_40664094的博客 2630

构造器、继承、重写、多态

构造器、继承、重写、多态

m0_65886290的博客 304

PnP 单目相机位姿估计(二):solvePnP利用二维码求解相机世界坐标

前言 原理简介 输入参数准备 1 objectPoints特征点世界坐标 2 imagePoints特征点在摄像头下的像素点坐标 3cameraMatrixdistCoeffs内参矩阵和畸变矩阵 相机世界坐标的求解 1求世界坐标中的点在相机坐标系下的坐标 2求相机在世界坐标中的坐标 3效果求解相机在世界坐标系下的坐标点 4求解代码1.前言  很多时候,当我们利用单目相机获取图像时,往往只能获取图像中

cocoaqin的博客 5万+

Overload(重载)、Override(覆盖)、Overwrite(重写) 三者区别

Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。 (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual关键字可有可无。 Override(覆盖):是指派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)...

醉如泥的博客 1127

1. SAP Fiori Elements 开发环境的搭建和开发准备工作

本文介绍了本地使用 Visual Studio Code 进行 Fiori Elements 开发所需要安装的这个扩展包里6个能够提高 Fiori Elements 应用开发效率的扩展。在本教程后续步骤里我们会通过实际的例子介绍这些 Visual Studio Code 扩展的详细用法。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3452

PMP--二模--解题--161-170

A:邀请团队成员在下一次回顾中分享经验。B:请求发起人增加具有所需经验的团队成员。C:在团队内计划知识共享会议。D:请求发起人为团队提供培训课程。A。

stqer的博客 1270

使用无参构造简单实现spring IOC操作

咱们先来一遍不用IOC的平常方法,也就是new出对象 首先创建一个实体类,简单一点就写一个属性就好了,重写下咱们的无参构造 可以看到我只是new了一下对象,无参构造方法便已经执行了 接下来使用spring IOC 方式使用这个对象 spring依赖我放在这里 <dependencies> <!-- Spring核心依赖 --> <dependency> <groupId>org.springframework&l..

Saber__Love的博客 245

vscode中运行gcc -v命令失败了,提示:gcc不是内部或外部命令...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 976

Java构造方法 重载与重写

内容部分引自《Java语言程序设计》一书,摘抄以便记忆和复习 1.Java中的构造方法 构造方法的特性: 必须具备和所在类相同的名字 没有返回值类型,连void 也没有 构造方法是在创建一个对象使用 new 操作符时候调用的 构造方法的作用是初始化对象,也可以重载(即-可以有多个同名的构造方法,但是需要有不同的签名) 一个类可以不定义构造方法,类中会隐含创建一个方法体为空的构造方法(类中...

zranfly 2万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

构造方法、方法重载、方法重写

构造方法、方法重载、方法重写的理解 和 相关概念的介绍

菜就多练! 693

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

构造方法 重写 和 重载

构造方法:是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。 重写:当一个子类继承一个父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个方法重写了父类中的方法。 重载:一个类中的方法与另一个...

alan800800的博客 286

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JAVA知识复盘004——构造方法能不能被重载,构造方法能不能被重写?

在回答这两个问题之前,首先先回顾:什么是构造方法?构造方法的特点是什么? 概述:构造方法存在于类中,给对象数据(属性)初始化; 特点:方法名与类名一样;无返回值无void; 默认构造方法:我们不创建一个构造方法时,系统默认提供一个无参构造;当我们创建一个构造方法时,系统不再提供无参构造,所以在实际项目中,全部手动给出无参构造 其次什么是重载?什么是重写?  重载:存在于在一个类中,...

十七的博客 3万+

什么是构造方法?能否被重写或重载?

构造方法(Constructor)是一种特殊的方法,主要用于在创建对象时初始化对象的成员变量。1、与类同名且无返回值类型构造方法的名称必须与类名完全相同,且不能声明返回值类型(包括void例如,的构造方法必须命名为Person(),而非其他名称。2、自动调用与初始化对象当通过new关键字实例化对象时,构造方法会被自动调用,用于初始化对象的属性或执行必要的操作(如资源分配、参数校验等)。public Rectangle(int w, int h) { // 构造方法width = w;

破损的天堂鸟博客 993

java-重载、重写、构造方法重载

1.重载是指在一个类或子类中,方法的名称相同,方法的参数个数、类型不同。 public class OverLoad { /* * //定义一个无参数的action方法 public void action(){ } //定义了一个返回值为String的action方法 public String action(){ } */ /* * //...

weixin_44019125的博客 326

Java中构造方法的重载、重写及注意事项

构造方法:百度百科给出的定义为(构造方法是一种特殊的方法,它是一个与类同名且返回值类型为同名类类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。) 由定义不难理解: 1.构造方法的作用是给对象进行初始化 。 2.构造方法的格式...

LOL_toulan的博客 4064

构造方法+方法重载重写

构造方法+方法重载重写 构造方法 java可以向C#一样,通过无参或带参数的构造方法(Constructor)完成赋值的初始化 在Penguin类中增加一个无参的构造方法Penguin(),如下 /** * 宠物企鹅类,测试无参构造方法 */ public class Penguin{ String name = "无名氏"; //昵称 int health = 100; //健康值 int love = 0; //亲密度 String sex =

weixin_47321079的博客 454

构造方法可不可以被重写和重载?

构造方法可以被重载。 构造方法不可以被重写,因为重写发生在父类和子类之间,要求方法名称相同,而构造方法的名称是和类名相同的,而子类类名不会和父类类名相同,所以不可以被重写。 ...

weixin_45454224的博客 1万+

构造方法和方法的重载和重写

构造方法 注:默认的构造方法的访问权限是跟随class的访问权限,   如果编写一个构造方法,既没有调用 super() 也没有调用 this(),编译器会自动插入一个调用到父类构造方法中,而且不带参数。 super关键字的用法 调用父类构造方法 调用父类的方法 值得注意的是: super()必须放在构造方法的最顶端。 不能在...

dianlu8638的博客 299

构造方法能够被重载,不能被重写

下图说明了构造方法可以被重载 下图错误提示是无效的方法声明,需要返回类型,这里就可以说明构造方法是不能被重写的 下图中加入了void 下图中添加了String 返回类型 下图中,因为BB类继承了AA类,即BB类的父类是AA。下图中执行new BB()时,先去执行父类的构造方法,再执行自身的构造方法。执行到new AA()是只执行AA的构造方法 ...

zhaomengxia123的博客 3311

java中方法的重载、构造方法、方法重写

关于Java中名字,初学者对于某些知识点容易出现混淆,本文重点介绍Java中的构造方法、方法重载、方法重写 本文提醒: 1.本文代码基于:Jdk1.8-191 2.本文代码工具:eclipse2018.9 3.使用系统:windows10 4.本文每一段代码均为一个类 正文开始 构造法方法与方法重载容易混淆的原因在于,他们在一个类中都可以存在多个名字都相同的方法,本文将介绍其区别 一、构造方法 构...

dajiangyou123456的博客 227

方法重写、构造方法、方法重载

方法重写当子类继承父类的方法不能满足自身的需要时,子类可以重写父类的方法 规则 实现继承修饰符的访问权限要大于或等于父类方法名、返回值类型、参数列表必须相同构造方法 * 语法访问修饰符 类名(){} 使用 1、当一个类中没有定义构造方法,JVM会默认创建一个public修饰的无参数的构造方法;2、如果有自定义的构造,JVM就不会再创建默认的构造方法3、通常使用在初始化当前类的成员属性的值方法重

Jackson_Yi的博客 3184
上一篇: Java类的三大特性总结
下一篇: String 字符串的创建、使用和操作
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值