Java子类调用父类函数实验

java 中关于子类调用父类构造函数问题 1.前提:父类和子类同时都有有参的构造函数和无参构造函数。              java中的子类初始化时初值为空。调用顺序为先调用父类无参构造函数,然后调用子类无参构造函数。              java中的子类初始化时初值不为空。调用顺序为先调用父类无参构造函数,然后调用子类有参构造函数。 2..前提:父类和子类无无参构造函数只有有参构造函数。 阅读详情

需求:

假设定一个类A,

定义了一个类B,继承于A,

定义了一个类C,继承于B。

类A、B、C都定义了一个同名函数叫func( )

现在需要使用

C c = new C();

c. 的方式来调用A的func()或者B的func(),请问有方式实现吗?

想法:

1、通过super.super调用

试验后发现行不通,super并不能递归调用,也不能保存

 

2、在根基类A中定义一个Map<String,Object>成员变量,在A、B、C的构造函数中分别获得类名和this,并放入Map,然后在A中定义一个方法来获取Map内的this,转换后调用func()

试验后发现还是行不通,Map里其实就一个值,类名和this都指向了C

 

3、利用反射机制,待实现

 

4、在每层类重新定义一个方法,来调用,代码如下::

 

 

A <- B <- C 
A是根父类

public class A
{
	public void func()
	{
		System.out.println("[A]");
	}
}

public class B extends A
{

	@Override
	public void func()
	{
		System.out.println("[B]");
	}
	
	public void funcA()
	{
		super.func();
	}
	
}

public class C extends B
{

	@Override
	public void func()
	{
		System.out.println("[C]");
	}

	public void funcB()
	{
		super.func();
	}
}


C c = new C();
c.funcA();
c.funcB();
c.func();


 

C++/JAVA/C#子类调用父类函数情况总结 今天小编就为大家分享一篇关于C++/JAVA/C#子类调用父类函数情况总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 立即下载

相关推荐

欧姆龙多PLC串行链接模式的应用

欧姆龙多PLC串行链接模式的应用 一、如何将两台CP1H进行串行PLC连接(PLC串行链接) 主机侧设定 从机侧设定 二、 如何实现编程通信 主机侧的【PC连接模式】为【全部】的时候 ① 主机会把自己的地址从3100开始,按照【链接字】设定的字数个数发送到每个从机的3100开始进行存储。 ② 从机会把自己的地址从31n0开始,按照主机侧参数【链接字】设定的字数个数发送到主机的31n0开始进行存储。 注:(n为从机的地址号,若从机号不连续,则该编号的地址将不被定义..

u014202847的博客 3087

Java 继承

子类重写了父类中的某一个方法,隐藏父类中的字段,假如想在子类中访问到父类中被重写的方法和隐藏父类的字段,可以在子类中通过使用关键字super来调用父类中被重写的方法和访问父类中被隐藏的字段。3、如果父类中有静态方法,子类中也有跟父类相同的静态方法,那么父类不管是 类名调用 还是 实例调用 都是调用的父类的静态方法。上面说:子类拥有父类对象所有的属性和方法(包括私有属性和私有方法),但是父类中的私有属性和方法子类是无法访问,只是拥有。2、如果父类中有静态方法,子类中没有,但是子类可以调用父类的静态方法。

weixin_45080272的博客 1446

SHP转TXT、TXT转SHP工具(附工具下载链接)

关于TXT,可以选择整个图层生成一个TXT。也可以勾选“每个地块单独存TXT”,然后选择一个字段,根据字段值,给每个地块生成一个TXT文件。支持选择和数据框一样的坐标系,也可以选择一个图层,工具会采用和这个图层一样的坐标系。1、TXT数据支持输入单个或者多个TXT文件,也可以直接选择TXT所在的文件夹。所有的TXT数据都生成到一个矢量数据图层。关于这一行的内容,可以在地块坐标行设置中进行设置。其他:①面节点闭合:勾选,则回到起点。属性描述:可以直接复制粘贴进来,也可以直接修改。也可以改为任意字母。

坐听风雨 4301

java面向对象基础

类与实例 类可以理解为一个具有被描述对象(们)自身(共有的)属性、行为的一个集合。 比如说 狗类,就有尾巴,毛等属性,有吃骨头,吃粑粑等行为。放在代码里来看,就是尾巴和毛的变量以及吃骨头,吃粑粑的方法。 实例化则可以理解为通过new关键字将该类从概念实例化为了一个存在的对象,狗本身是一个泛指(事物的概念),当我们new过了之后,它就是我们身边蹦跶的宠物犬了(具体的事物) 构造方法 又称构造函数,其功能就是对类进行初始化。构造方法与类同名,无返回值,在new的时候调用。 class Dog{ private

qq_45670042的博客 246

Unity动态创建Avatar骨骼映射

Unity Avatar骨骼映射动态创建,适配Unity通用动画,无需经过第三方建模软件,可运行时创建

Nbin_Newby的博客 1万+

IIS - 会话cookie中缺少HttpOnly属性

不啰嗦,我们直接开始! 先进行常规设置 打开配置编辑器 选中图中节点,将httpOnlyCookies设置为true 然后。。。不起作用。。。 换种方式 通过配置出站规则getcookie添加HttpOnly 在Web.config中添加如下出站规则 <rewrite> <outboundRules> <rule name="Add HttpOnly"> <match serverVa.

。 21万+

Java子类调用父类的构造方法

一、自动调用父类无参构造方法 //这是父类 public class SuperClass { //父类无参构造方法 public SuperClass(){ System.out.println("父类无参构造方法"); } //父类带参构造方法 public SuperClass(String str){ System.out.println(str); } } //这是子类 //这是子类 public class S

mjl_1451100634的博客 1万+

深入解析ViT中的RoPE旋转位置编码:原理、实现与视觉应用

本文深入解析了ViT中的RoPE旋转位置编码原理、实现及其在视觉任务中的应用。RoPE通过旋转变换巧妙地将相对位置信息融入注意力计算,解决了传统绝对位置编码外推性差的问题,在图像分类、目标检测及生成任务中展现出更优的泛化能力和灵活性。

alice7model的博客 706

Java - 继承

Java中的继承

qq_19754259的博客 4519

Python爬虫实战:抓取统计数据并生成年度对比图表详解

国家统计局网站(静态HTML页面Excel文件JSON接口(部分新版API)我们将重点演示从统计公报页面抓取数据,结合解析Excel文件,实现多种数据格式爬取处理。本文从零开始搭建了一个爬取国家统计数据并制作年度对比图表的完整流程。读者可以根据实际需求调整爬取目标,丰富数据分析维度,甚至结合机器学习模型预测未来趋势。欢迎你在评论区留言分享你的爬虫实践,或提出改进建议!

2201_76125261的博客 1001

旗鱼优化算法(SFO)详解:从海洋猎手到智能优化

旗鱼优化算法(SFO)是一种新型群体智能优化算法,灵感来源于旗鱼的群体捕食行为。该算法采用双种群机制,模拟旗鱼(精英个体)与沙丁鱼(普通个体)的交互过程,通过交替攻击策略实现探索与开发的平衡。核心机制包括:基于猎物密度的旗鱼位置更新、随迭代衰减的攻击力度控制、以及捕食替换机制。SFO具有参数少、全局搜索能力强等特点,在高维复杂优化问题中表现优异。算法通过模拟自然界中的群体智能行为,为解决工程优化问题提供了新思路。

qq_42212808的博客 163

【JavaSE】继承(子类中访问父类成员变量 子类中访问父类成员方法 super关键字 子类构造方法 super和this 再谈初始化 proteced关键字 final关键字 继承与组合)

假如我们能将目前这两个类当中共同的属性进行抽取,放到一个类当中,需要的时候去那个类拿就可以了。super和this都可以在成员方法中用来访问:成员变量和调用其他的成员函数,都可以作为构造方法的第一条语句。super和this都可以在成员方法中用来访问:成员变量和调用其他的成员函数,都可以作为构造方法的第一条语句。这里就体现在了继承上了。如果子类中存在与父类中相同的成员时,在子类中访问父类相同名称的成员要用super。观察我们写的代码,写了一个狗类,一个猫类,不管是狗还是猫,它都有很多共同的属性。

m0_68800221的博客 2728

Test软件:Keysight二次开发_(3).安装与配置开发环境

在开始进行Keysight软件的二次开发之前,首先需要确保您的开发环境已经正确安装和配置。本节将详细介绍如何安装和配置必要的开发工具和依赖项,以便您能够顺利进行开发工作。

2401_87715305的博客 1413

java中子类继承父类时是否继承构造方法?

答案是:java中子类是不会继承父类的构造函数但是可以调用 父类 Animal: package encryption; public class Animal { private String name = "animal"; public Animal() { System.out.println(".....this is Animal....

那些年的代码 1万+

visio安装包

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

蓝牙模块HM-10手册

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

Java中,子类父类中代码的加载顺序

本文主要通过代码的实现,来研究下载Java中,继承的时候,父类和子类中代码的加载顺序。 一,无继承的时候: 首先我们先写几个类,其中类ClassA作为测试主体。 // 1,对象类,测试主体 public class ClassA { // public static ClassA classa = new ClassA(); static{ System.out...

abreo的专栏 297

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java 子类构造函数默认调用父类构造函数super

一、继承中的构造方法的执行顺序 创建对象时,会先自动调用父类的构造函数,再自动调用子类的构造函数。 解释:super()表示父类的构造函数并会调用于参数相对应的父类中的构造函数。子类中,它在调用父类中空参数的构造函数。因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何对自己的数据进行初始化的。因此子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程。 二、子类的所有构造函数中的第一行,其实都有一条隐身的语句super(); 1、父类有空参:没有有参构造时系统默认给出了,或.

jb_home的博客 9935

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【Java并发】父类能调用子类的方法吗?

文章开始前,我们先抛出一个链式问题: Java中父类能调用子类的方法吗? 如果不可以,原因?如果可以,如何做? 每种实现方式,在实际项目被允许吗? 不被允许的原因有哪些? 如果在实际项目中,的确有这样的特殊业务场景,应如何“正确的” - “变相”的去实现? #1.Java中父类能调用子类的方法吗? 答案:能 1.1 实现方式描述 (1)在父类中直接new子类相关对象或者通过构造函数传入子类对象,然后调用其方法 (2)将子类相关方法声明为static,在父类中调用子类的static方法 (3)在父类中通过.

itbird的专栏 1万+

Java 中父类怎么调用子类的方法?

父类能调用子类的方法吗? 答:能。 怎么做? ● 把子类传递到父类的有参构造中,然后调用。● 使用反射的方式调用,你使用了反射还有谁不能调用的?! ● 父类调用子类的静态方法。 案例展示: package com.ywq; public class Test2{ public static void main(String[] args) { Son son = ...

空名先生 1万+

子类重写父类方法,调用时会调用子类重写之后的方法

1, 以下代码执行的结果显示是多少( )? public class Demo { class Super{ int flag=1; Super(){ test(); } void test(){ System.out.println("Super.test() flag="+fla...

nsjlive的博客 1万+

java子类调用父类构造方法

在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?        答案如下:         当你new一个子类对象的时候,必须首先要new一个父类的对像出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类...

weixin_43887873的博客 9172

java中父类构造函数中调用子类重写的方法

第一个例子: class a{ String name="aaaaaa"; //父类构造函数 public a(){ print(); } //该构造函数自始至终就没有被调用过 public void print(){ System.out.println(name); } } class b extends ...

Lemon_MY的博客 6507

c++ 子类调用父类有参构造函数

(1)多态性 在C++或者Java中,多态性的最大好处,以我目前粗浅的理解,是减少代码量。子类越多,越明显。 (2)构造函数的调用 FatherClass *pt = new ChildClass; 父类指针-->子类实例 , 首先调用父类无参构造函数,然后调用子类构造函数。 (3)如果子类构造函数无参数,一切都好办。但是,往往子类构造函数需要参数。那么应该怎么办呢? 可以这么写:子

奋斗,永不止步 1万+

java子类怎么调用父类的构造方法_Java里子类调用父类构造方法问题

在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?答案如下:当你new一个子类对象的时候,必须首先要new一个父类的对像出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方法,这是规定,要new父类对象出...

weixin_42600128的博客 3842

java子类调用父类构造器函数

java子类调用父类构造器函数详解

技术宅,专注云原生、Go、Linux、Java等技术分享,原创文章、效率工具、实战解决方案!关注我,了解互联网动态,学 IT 不迷路 2万+

Java 子类继承父类的时候,子类的构造函数怎么写

子类继承父类的时候,子类的构造函数怎么写 构造函数用于构造一个类,是不能继承,不能被覆盖的。 (1)父类显式定义有参构造函数,而没有定义无参构造函数的时候,java虚拟机默认不自动创建一个无参构造函数。 (2)如果父类显式的添加无参构造函数,则子类可以创建自己的有参或无参构造函数,如果子类没有显示调用父类的有参构造函数,则java自动调用父类的无参构造函数。 (3)如果父类没有显式的添加无参构造函...

weixin_44893585的博客 2462

Java的子类、父类构造函数的调用关系

1. 子类构造函数可以显示调用父类构造函数,可以选择调用父类的缺省构造函数(无参构造函数),也可以调用父类的有参构造函数。 2. 子类构造函数可以不显式调用父类构造函数,这时父类的缺省构造函数将会被调用,可以成为隐式调用。 3. 总之,子类的构造函数必须得调用父类的构造函数。 4. 类中可以不显示定义构造函数,默认有一个缺省的无参构造函数。 5. 如果显示定义了有参构造函数,缺省的无参构造...

Tom098的博客 962
上一篇: ASP.NET 母版页示例代码
下一篇: 如何提高svn的图标刷新速度
sonikk
博客等级 码龄15年 68粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值