我有三个类有问题。它们被命名为:GameScene、StageScene、StageOne。我的问题是我想在 StageScene 中实现初始化,但仍然强制 StageOne 实现它,这样每当有人使用 StageOne 对象 (stageOne.initialize()) 时,StageScene 和 StageOne 都会运行初始化。任何人都知道如何做到这一点?
public abstract class GameScene
{
public abstract void initialize();
}
public abstract class StageScene extends GameScene
{
public abstract void initialize()
{
//Some code
}
}
public class StageOne extends StageScene
{
public void initialize()
{
//Some code
}
}
最佳答案
你可以用包装器来做:
public abstract class StageScene extends GameScene
{
final public void initialize()
{
//your initialization
subInitialize();
}
protected abstract void subInitialize();
}
在子类中:
public class StageOne extends StageScene
{
public void subInitialize()
{
//Some code
}
}
关于Java - 强制执行已实现的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9675694/