gpt4 book ai didi

带有正文的 Java "abstract like"方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:52 25 4
gpt4 key购买 nike

有以下类:

public abstract class Super
{
public abstract void run();
}

public class Sub1 extends Super
{
@Override
public void run ()
{
System.out.println("Method called");
System.out.println("Sub1 called");
}
}

public class Sub2 extends Super
{
@Override
public void run ()
{
System.out.println("Method called");
System.out.println("Sub2 called");
}
}

我如何避免必须编写“System.out.println("Method called");”两次?

谢谢解答

口径R.50

最佳答案

将通用功能引入父类(super class),并定义另一个抽象方法,子类将为其定义自己的实现。

public abstract class Super {
public void run() {
System.out.println("Method called");
printMessage();
}
abstract void printMessage ();
}

public class Sub1 extends Super {
@Override
void printMessage() {
System.out.println("Sub1 called");
}
}

public class Sub2 extends Super {
@Override
void printMessage () {
System.out.println("Sub2 called");
}
}

这样就可以避免重复调用父类的公共(public)方法两次。

关于带有正文的 Java "abstract like"方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17506449/

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