首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否可以在被别名的方法中调用super来调用别名方法

是的,可以在被别名的方法中使用super来调用别名方法。

在Java中,super关键字用于引用父类的成员变量和方法。当方法被别名所覆盖时,可以使用super来调用父类中的方法。

调用super时需要注意以下几点:

  1. super():在子类的构造函数中,使用super()可以调用父类的构造函数,用于完成父类的初始化操作。
  2. super.成员变量:使用super.成员变量可以访问父类中的成员变量。
  3. super.方法():使用super.方法()可以调用父类中的非私有方法。

在使用别名方法时,如果需要调用父类中的方法,可以使用super来显式地调用。这种方式可以避免对父类方法的重写,并且可以在子类中灵活地处理逻辑。

示例代码如下:

代码语言:txt
复制
class Parent {
    public void print() {
        System.out.println("父类方法");
    }
}

class Child extends Parent {
    @Override
    public void print() {
        System.out.println("子类方法");
    }

    public void callParentMethod() {
        super.print(); // 调用父类方法
    }
}

public class Main {
    public static void main(String[] args) {
        Child child = new Child();
        child.print(); // 输出:子类方法
        child.callParentMethod(); // 输出:父类方法
    }
}

在上述代码中,子类Child中的callParentMethod()方法使用super.print()调用了父类Parent中的print()方法。运行结果中,先输出了子类方法,然后又输出了父类方法。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云音视频处理:https://cloud.tencent.com/product/ivc
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发:https://cloud.tencent.com/product/mce
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/tbaas
  • 腾讯云游戏多媒体引擎:https://cloud.tencent.com/product/gme
  • 腾讯云元宇宙:https://cloud.tencent.com/product/gme
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python调用父类方法三种方式(super调用和父类名调用

子类调用父类方法三种方式:父类名.方法名(self)super(子类名,self).父类方法名()super().父类方法名注意:super()通过子类调用当前父类方法super默认会调用第一个父类方法...#这意味着,在创建对象xiaobai时,其将会调用从People类继承构造函数,因此上面程序创建xiaobai对象同时,还要给name属性进行赋值。...针对这种情况,正确做法是定义Person类自己构造方法(等同于重写第一个直接父类构造方法),但是需要注意是,在子类定义构造方法,则必须在该方法调用父类构造方法。...也就是说,涉及到多继承时,在子类构造函数调用第一个父类构造方法方式有以上两种,而调用其他父类构造方法方式只能使用未绑定方法。...,Person类自定义构造方法调用People类构造方法可以使用super()函数,也可以使用未绑定方法

1.1K20

【Kotlin】Kotlin 类继承 三 ( super 关键字使用 | super@ 外部调用父类方法 | 子类选择性调用 父类 接口 方法 super )

子类调用父类 : 子类可以任意调用父类 public , protected 可见性属性与方法 ; 3 ....子类调用父类方法 ( super ) ---- 子类调用父类方法 : 子类可以通过 super 调用父类方法 , 包括普通方法 , 和属性访问 setter 方法 ; 其中 super 相当于父类对象引用...子类内部类调用父类方法 ( super@ ) ---- 子类内部类调用父类方法 : 在子类内部类 , 如果想要访问父类方法 , 可以使用 super@子类名称.父类方法() 形式 , 调用父类方法...子类选择性调用父类 / 接口方法 : 子类可以继承父类 , 实现多个接口 , 如果父类与接口 , 或者不同接口之间定义了相同名称方法 , 那么需要使用 super.方法名() 选择调用指定...代码示例 : 代码定义了一个父类 Father , 接口 Build , 父类和接口 都定义了 action 方法 , 子类 Son 继承父类 , 实现 Build 接口 , 子类通过 super 调用父类成员或方法

1.5K10
  • currentThread()方法可返回代码段正在被哪个线程调用信息

    currentThread()方法   currentThread()方法可返回代码段正在被哪个线程调用信息。...: 之后是run()代码结果,当前线程名字为A,A是我们手动赋予c.setName("A");,并且它是运行着。...run()方法代码没什么好说。在run()代码结果表示,this 与 Thread.currentThread()不是同一个引用。...将线程对象以构造参数方式传递给Thread对象进行start()启动线程,我们直接启动线程实际是newThread(即t1),而作为构造参数c线程对象,赋给Thread类属性target,之后在...Threadrun方法调用target.run(); 此时Thread.currentThread()是Thread引用newThread, 而this依旧是c引用,所以是不一样,打印内容也不一样

    55400

    JavaRMI(远程方法调用

    参考链接: Java远程方法调用RMI RMI基本概念  RMI(Remote Method Invocation,远程方法调用)是从java1.1开始实现,它大大增强了Java开发分布式应用能力...RMI对接口有着强烈依赖,在需要创建一个远程对象时候,我们通过传递一个接口隐藏基层实施细节,所以客户得到远程对象一个句柄时,它们真正得到是接口句柄,然后本地代码通过接口操作远程对象。...通过RMI编写程序可以非常方便实现分布式Java应用程序。 ...实例  编写基本,要被传输bean对象(Person),这个对象可以是基本数据类型或者实现了java.io.Serializable自定义类型。 ...rand.nextInt(names.length)]);             list.add(p);         }         return list;     } }  如何运行  命令行运行方法

    1.6K30

    vue调用js文件_vue调用其他js文件方法

    本文主要介绍了vue引用js文件多种方式,本文大家介绍非常详细,具有一定参考借鉴价值,需要朋友可以参考下 1、vue-cli webpack全局引入jquery (1) 首先 npm...'), new webpack.ProvidePlugin({ jQuery: "jquery", $: "jquery" }) ] (4) 在main.js 引入就ok了 (测试这一步不用也可以...) import $ from 'jquery' (5)然后 npm run dev 就可以在页面中直接用$ 了. 2、vue组件引用外部js方法 项目结构如图: content组件代码: <template...3、单vue页面引用内部js方法 (1) 首先 npm install jquery –save (–save 意思是将模块安装到项目目录下,并在package文件dependencies节点写入依赖...(){ console.log($) } } 就不会有了,原因可能是得符合vuejs写法吧 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    18.8K50

    Linux系统创建SSH服务器别名两种方法

    可以通过为 SSH 连接创建别名(或快捷方式)轻松解决。 我们可以用两种方法为 SSH 命令创建别名方法 1 – 使用 SSH 配置文件 这是我创建别名首选方法。...我们可以使用 SSH 默认配置文件创建 SSH 别名。...如果要为所有用户(系统范围内)提供别名,请在 /etc/ssh/ssh_config 文件添加以上行。 你还可以在 SSH 配置文件添加许多其他内容。...方法 2 – 使用 Bash 别名 这是创建 SSH 别名一种应急变通方法可以加快通信速度。你可以使用 alias 命令使这项任务更容易。...然后,使用命令应用更改: $ source ~/.bashrc 或者 $ source ~/.bash_profile 在此方法,你甚至不需要使用 ssh 别名 命令。

    2.1K30

    Java静态方法不能调用非静态方法原因

    如图,是Java静态代码和实例对象互相调用规则,我们接下来就讲讲为什么在Java静态方法可以调用非静态代码呢。...静态方法不依赖于对象调用,它是通过‘类名.静态方法名’这样方式调用。而对于非静态方法,在对象创建时候程序才会为其分配内存,然后通过类对象去访问非静态方法。...经过查资料和某人帮助,终于明白啦。 (1)首先,我们可以试一下去掉static,这里不会编译错误,但是运行时会抛出空指针异常,原因是什么呢,原因就是类似于上面说静态方法不能调用非静态方法原因了。...(2)这里用null的话(即(Test)null)是将Test引用强制转换为Test对象,这样也可以调用静态方法,其实不需要null,也是可以调用静态方法,即Test.Print()。...(3)不能用一个值为null引用类型变量调用非静态方法,这样会抛出空指针异常,但是静态方法可以被一个值为null引用类型变量调用而不会抛出空指针异常。

    5.6K50

    动态调用方法(无)(有)参数

    1、Type类,方法用Invoke调用时候就 使用null:表示该方法是无参数 2、Type类,方法用Invoke调用时候就 使用new object[] { "肖名" }传递参数:表示该方法是有参数...System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace 动态调用方法...= tp.GetMethod("Say");//2、调用这个类Say方法,,注意:没有参数!!!...(obj, null); // 当在派生类重写时,调用具有给定参数反射方法或构造函数。...////5、也就是说,调用方法Say(),是没有参数,那么在用Invoke调用时候就 使用null:表示该方法是无参数 ////3、先写上一个括号,发现,第一个参数是object

    2.6K20

    Spring MVCD框架调用HanLP分词方法

    封面.jpg 项目里有一个文本分析模块是一个同学用hanlp写,由于在最后集成时候直接使用maven添加依赖,但最终测试时无法通过。...后经分析发现她坐了实体识别,是自己改了hanlp词典,手动加了很多词,而且在后期版本迭代还有可能继续改了hanlp词典,这就意味着不能用maven直接导入仓库里包了,只有将修改后data文件放到本地...网上有一些解决方法,但都是在项目部署时候,把hanlp词典数据放到服务器上一个固定位置上,然后再配置hanlp配置文件,指定一个固定位置。...这种方法虽然比较直接,但是并不能够把hanlp词典数据与整个项目打包到一起,后期管理也比较麻烦。...在一个将词典数据放到HDFS上一个blog启发下,尝试通过重写一个IOAdapter类,使用读写静态资源文件方法读取词典数据了,这样不就可以把data跟项目打包到一起了。

    77250

    关于加@Transactional注解方法之间调用,事务是否生效问题

    不同类之间方法调用,如类A方法a()调用类B方法b(),这种情况事务是正常起作用。只要方法a()或b()配置了事务,运行中就会开启事务,产生代理。...同一个类内方法调用:重点来了,同一个类内方法调用就没那么简单了,假定类A方法a()调用方法b() 同一类内方法调用,无论被调用b()方法是否配置了事务,此事务在被调用时都将不生效。...另一个例子:方法a()配置了事务,此时b()事务虽然不生效,但a()事务生效,对于b()抛出异常也会回滚。...,因此调用a()方法对象是动态代理对象。...而在类内部a()调用b()过程,实质执行代码是this.b(),此处this对象是实际serviceImpl对象而不是本该生成代理对象,因此直接调用了b()方法

    6.9K40

    Java 反射机制详解:私有方法调用头大?如何通过反射调用私有方法

    、运行结果 总结 前言 在 Java 如果我们使用 new 关键字调用构造函数对类进行实例化,我们就可以根据在这个类修饰符来访问类定义非私有方法。...但是如果需要在其他类调用私有的方法,就可以利用 Java 中提供反射来实现。...一、私有方法在本类中直接调用 1.1、在本类实例化,调用私有方法 说明:被 private 关键字修饰构造方法方法或者数据域只在其所在可见。...(); } } 1.2、尝试在其他类直接调用私有方法(错误示范) 如果我们直接在其他实例化 Demo 类,直接调用 demo() 方法,就会发现 IDE 直接产生编译错误,很明显我们直接在另一个类调用私有方法是行不通...我们通过实例化Method类调用Method类方法,常用方法有以下几个: getMethods():获得类 public 类型方法 getMethod(String name, Class[]

    2.4K21
    领券