Java之继承中的构造方法

Java 继承中的构造方法调用规则详解 最近在学习 Java 继承时,对构造方法的调用规则产生了一些疑问:如果父类没有无参构造会怎样?多级继承时要怎么处理?子类自身构造方法又会如何影响调用链?通过一番研究和实验,我整理了这篇笔记,分享给大家,希望能帮助到有同样困惑的小伙伴。默认行为:子类构造方法会自动调用父类的无参构造(super()无参构造缺失:如果父类没有无参构造,子类必须用super(参数)手动调用,否则报错。多级继承:构造方法从顶层父类逐级调用到子类,每个类只需关心自己的直接父类。全无参构造。 阅读详情

子类的构造过程必须调用父类的构造方法


子类可以在自己的构造方法中使用suoer(argument_list)调用父类的构造方法

使用this(argument_list)调用本类的另外的构造方法

如果调用super,必须写在子类构造方法的第一行


如果子类构造方法中没有显示的调用父类构造方法,则系统会默认调用父类无参数的构造方法,若父类中没有无参数的构造方法,则编译出错!!!





class SuperClass {
	private int n;
	
	SuperClass() {
		System.out.println("SuperClass()");
	}
	
	SuperClass(int n) {
		System.out.println("SuperClass (" + n + ")");
		this.n = n;
	}
}

class SubClass extends SuperClass {
	private int n;
	
	SubClass(int n) {
		System.out.println("SubClass(" + n + ")");
		this.n = n;
	}
	SubClass() {
		super(300);
		System.out.println("SubClass(");
	}
}
public class TestSuper {
	public static void main(String[] args) {
		SubClass sc1 = new SubClass();
		SubClass sc2 = new SubClass(400);
	}
}



纯JS实现SM3加密算法(兼容IE浏览器) 纯JS实现SM3加密,IE、谷歌、火狐等浏览器可以直接使用。 阅读详情

相关推荐

蚁群算法(Ant Colony Optimization,ACO)讲解+代码实现

通常情况下,较优的解对应的路径上的信息素会被加强,而较差解对应的信息素则会减少或蒸发。的化学物质,这种物质会在蚂蚁走过的路径上留下痕迹,后续的蚂蚁会根据这些信息素的浓度来选择路径,从而形成一条从蚁巢到食物源的。在求解TSP蚁群算法中,每只蚂蚁相互独立,用于构造不同的路线,蚂蚁之间通过信息素进行交流,合作求解。的过程,该路段经过的蚂蚁越多,信息素留下的就越多,浓度越高,更多的蚂蚁都会选择这个路段。需要注意的是,蚁群算法是一种。(6)计算每只蚂蚁的总距离:遍历每只蚂蚁的路线,累加经过的城市之间的距离。

m0_73804764的博客 1万+

java继承中的构造方法

继承中的构造方法有以下几个结论:(1)父类的无参构造函数存在时,父类的(无参)构造方法会被子类的(所有)构造方法(必须)在第一行默认(隐式)调用。代码如下:public class Test { public static void main(String[] args) { Son s = new Son(); System.out.println("--------------");...

ssyes123的博客 612

手把手教你用STM32硬件SPI驱动BMI088陀螺仪(附完整代码)

本文提供了一份详尽的STM32硬件SPI驱动BMI088陀螺仪的实战指南。内容涵盖从硬件连接、SPI底层配置、驱动层封装到设备初始化、数据读取与同步策略,并深入探讨了数据处理、滤波融合及温度补偿等核心技巧,旨在帮助开发者构建稳定高效的IMU驱动框架,解决BMI088应用中常见的挑战。

quiet的专栏 528

java父类有参构造,子类如何继承

对于Java类的构造方法我们大家都不陌生,只要你是开发你就会用到,Java类的构造方法可以有带参的和不带参的。 当我们声明了一个带参的构造方式时,需要显示的声明一个不带参的构造方法,以便其他用到无参构造创建对象,其原因就是因为当我们没有声明构造方法时,虚拟机会自动给我们隐式的声明一个无参构造方法,当我们手动声明一个带参的构造方法,虚拟机就不会为我们生成无参构造了,所以为了方便,我们在声明带参构造...

qq_35324400的博客 3938

使用基于物质点法(MPM)的Anura3D模拟沙柱坍塌

本博客使用开源软件Anura3D软件模拟了一个沙柱坍塌的过程,这个软件是基于基于物质点法(MPM)设计的

weixin_59902634的博客 4043

8.2-12.4GHz喇叭天线设计

使用后处理模板的优化算法,对a1、h_horn、b1进行优化,各参数的优化区间即为之前计算得到的参数范围。由于矩形喇叭的辐射特型基本上是E面和H面扇形喇叭的结合,当波导中只是单模传播(只有TE波)时,矩形喇叭的口径可以通过远场公式推理出来。表示矩形喇叭的口径效率,进行最佳增益设计时,一般取值为0.5。从表中可以看出,该结构在8.58GHz的增益误差为2.68%>2.5%,需要对结构进行优化。建模完成,之后就是在矩形波导尾部添加波导端口激励,以及对应频率的远场监视器。,在这里,将频率定为区间的中心频率。

qq_48897427的博客 6655

Java构造器 继承问题(子类是否必须实现父类的有参构造函数)

首先,答案是否定的,但是 如果你在父类中写了一个有参构造函数,但是没有声明无参构造函数,就有问题。 (这里补充一下,我们都知道,当我们不写有参构造函数的时候,系统会自动生成一个无参构造函数,而且每个类的创建都依赖构造函数,子类的构造函数依赖父类的构造函数,这牵扯到一个隐式传递super和this的问题 不多赘述) ,因为你在父类中只有有参构造函数,没有无参构造函数,但是子类如果不写构造函数,系

lx2662955454的博客 1万+

基于 YOLOv26 的遥感图像目标检测系统:从原理到模型

本文介绍了基于YOLOv26的遥感图像目标检测系统。YOLOv26凭借端到端设计、轻量化架构和小目标优化能力,有效解决了遥感图像中多尺度目标、复杂背景、小目标检测等挑战。系统采用CSPDarknet骨干网络和FPN+PAN特征融合模块,通过MuSGD优化器和改进损失函数提升训练效果。文章详细阐述了数据预处理、模型训练流程和优化技巧,包括Tile推理和混合精度训练。系统支持多种部署方式,在CPU上推理速度提升43%,能实现高精度、实时性的遥感目标检测,适用于城市规划、农业监测等场景。

一键难忘的博客 566

java继承与构造方法_详解 Java继承关系下的构造方法调用

详解 Java继承关系下的构造方法调用在Java中创建一个类的对象时,如果该类存在父类,则先调用父类的构造方法,然后再调用子类的构造方法。如果父类没有定义构造方法,则调用编译器自动创建的不带参数的默认构造方法。如果父类定义了public的无参的构造方法,则在调用子类的构造方法前会自动先调用该无参的构造方法。如果父类只有有参的构造方法,没有无参的构造方法,则子类必须在构造方法中必须显式调用super...

weixin_42109545的博客 393

PPT制作能力在职场中真的重要吗?一定要美术功底才能学好PPT吗?

我推出PPT技能培训专栏啦!好的PPT可以让你事半功倍、2023拥有PPT能力还可以让你具备一门极有价值的斜杠能力。更多内容请进:梦幻训练营专栏。专栏内会用本人积累的近10年的PPT学习方法论在短时间内教会你如何制作出精美绝伦的PPT,每篇教程后还会免费赠送一些小福利,不可多得。

打造全国最全的AI Agent开发知识领域的博客 728

2025华为杯第二十二届中国研究生数学建模竞赛D题:低空湍流监测及最优航路规划 - 完整解题分析+完整MATLAB源码!(下篇)

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 1621

Java继承中的构造方法

最近学java,在继承中的构造方法的调用上碰到一些问题,看到一篇不错的文章,转载。   转载地址:http://mgc.name/article.asp?id=165   继承中的构造方法:1.子类的构造过程中必须调用其基类的构造方法;2.子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法;如果调用super,必须写在子类构造方法的第一行;3.如...

weixin_30466039的博客 415

裂缝二维检测:裂缝的长度和宽度检测

这一节,我们需要去整合一下前面的代码,在进行长度和宽度的测量时,需要裂缝的类型、个数、面积的帮助。这一章是本专栏的核心部分。以上代码我均试过,由于本人能力有限,看不懂代码,最终还是没有采用,使用的是最普通检测宽度的方法,即求得骨架总长度后,用总面积求取平均宽度。

m0_62919535的博客 4238

JAVA继承中的构造方法

继承中的构造方法: //A 继承于 B //1.在new一个A之前,需要先构造一个B //2.在A的构造方法内中使用"super()"关键字先对B进行构造(需要将super关键字放在构造方法的第一行,因为只有先构造出了B之后才能进行下一步的A的构造) //3.在A构造方法中没有写super关键字的时候,编译器会自动调用父类无参的构造方法(无...

L962464795的博客 207

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java构造方法继承_Java构造方法的继承机制

1、如果类中没有构造方法,Java会给类自动添加一个无参的构造方法,即默认构造方法;如果定义了构造方法,则不会添加默认无参构造方法。2、如果子类的构造方法没有通过super显式调用父类的构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认调用父类的无参构造方法。如果此时父类没有无参构造方法,则会编译出错。3、如果子类的构造方法中通过super显式调用父类的有参构造方法,那么将执行父...

weixin_32539505的博客 353

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java 构造方法 继承 重写

//构造方法 //特点: //1、方法名与类型相同 //2、没有返回值,void也不写。 //3、作用是给属性 赋 初始值。 //构造方法什么时候执行呢? //答:构造方法出现在 new的后面。 //也就是说创建对象的时候执行 // public Person() { // name = “”; // sex = “男”; // age = 22; // } //当我们自己不写构造方法的时候...

蔚蓝色丨天空的博客 522

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java-继承-构造方法继承

java-继承-构造方法继承: package com.etc.JiCheng; public class Child extends Parent{ public Child(){ // 当父类有多个构造方法,子类可以选择带参数来选择调用哪个方法 super(23); System.out.println("子类的构造。。。"); } } package com.etc.JiCheng; /** * 构造方法的继承

qq_43617838的博客 345

java之继承类的构造方法

java之继承类的构造方法

wl51926508的博客 2550

子类继承父类的构造方法_Java基础系列09继承,抽象

继承概述:在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。继承概念:当要定义一个类时,发现已有类和要定义的类相似,并且要定义的类属于已有类的一种时,可以将要定义类定义为已有类的子类。同时也可以反过来思...

weixin_32327615的博客 4366

java 继承 构造方法_java之继承中的构造方法

继承中的构造方法1、子类的构造过程中必须调用其基类的构造方法。2、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。2.1、使用this(argument_list)调用本类的另外构造方法。2.2、如果调用super,必须写在子类构造方法的第一行。3、如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法。4、如果子类构造方法中...

weixin_34581259的博客 964

java继承中的构造方法和成员方法

学习时间 2020-11-27 学习内容 java继承中的构造方法 我们先了解一些知识 Object类 Object类是所有类的父类,简单地说就是,这个类是所有类的老祖宗,是类的源头,所有类都继承它 继承中的构造方法 子类中所有的构造方法默认都会访问父类中空参数的构造方法 因为子类会继承父类中的数据,可能还会使用父类的数据。 所以,子类初始化之前,一定要先完成父类数据的初始化。 其实每一个构造方法的第一条语句默认都是:super() 父类没有无参构造方法,子类怎么办? a:在父类中添加一个无参的构造

加油学JAVA的博客 299

java继承父类的构造方法_JAVA继承中子父类的构造方法

首先,构造方法本身会有一个隐式的无参构造(默认):①不写构造方法,类中的第一行代码事实上有一个默认的无参构造(系统会隐式为你写好)public class Student {private String name;// public Student() {} 隐式地“写”在这里,你看不见// Strudent类中虽然没有写构造方法,但相当于有上面的无参构造// 只不过...

weixin_29205061的博客 1242

java继承中执行构造方法的顺序

分析:首先一切都是从main里第一条语句开始,new Derived("C"),然后跳到public Derived(String s),因为类牵扯到继承,要先将父类初始化,所以必须要有super,但是我们写了Derived的有参构造方法,所以系统不会给我们写无参的构造方法,同时父类的构造方法public Base(String s)是有参的,有参是不能不写的,所以在public Derived(String s)里面必须得有super(形参),可是我们这里的代码没有super(形参),会编译错误。

2301_80369371的博客 827

Java继承中的构造方法访问特点

Java继承中的构造方法访问特点 子类构造方法中有一个默认的super()调用,所以一定是先调用的父类构造再执行子类构造。 子类构造可以通过super()关键字来调用父类重载构造。 super()的父类构造调用必须是子类构造方法的第一个语句不能一个子类构造调用多次super构造 public class Fu { public Fu(){ System.out.prin...

m0_43410048的博客 221

Java继承中的子类父类构造方法的调用

Java继承中的子类父类构造方法的调用一些解释

weixin_61291611的博客 2937
上一篇: Java之super关键字
下一篇: Object之toString方法
Eric_keke
博客等级 码龄12年 37粉丝 221原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值