gpt4 book ai didi

java - 使用 super 关键字覆盖方法

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:54 25 4
gpt4 key购买 nike

我有一个疑问,请看下面的代码。我有三个类 ABInheritanceExample。这里我从主类调用 super.run() ;它正在调用 Brun() 方法。

是否有任何选项可以从主类 (InheritanceExample) 调用 A 类运行方法,而无需为 A 类创建实例?

class A
{
void run()
{
System.out.println("<<<====Class A run Method===>>>>");
}
}

class B extends A
{
void run()
{

System.out.println("<<<====Class B run Method===>>>>");
super.run();
}
}

public class InheritanceExample extends B{

/**
* @param args
*/
void run()
{
System.out.println("<<<====Main Class run Method===>>>>");
super.run();
}
public static void main(String[] args) {
InheritanceExample a = new InheritanceExample();
a.run();
}
}

最佳答案

由于 B 扩展 AInheritanceExample 扩展 B 您正在创建一个实例。使方法 A.run() 静态

class A
{
void static run()
{
System.out.println("<<<====Class A run Method===>>>>");
}
}

class B
{
void run()
{
System.out.println("<<<====Class B run Method===>>>>");
A.run();
}
}

public class InheritanceExample extends B {

@Override
void run()
{
System.out.println("<<<====Main Class run Method===>>>>");
super.run();
}

public static void main(String[] args) {
InheritanceExample a = new InheritanceExample();
a.run();
}
}

关于java - 使用 super 关键字覆盖方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com