Java-强制实现已实现方法 [英] Java - Force implementation of an implemented method

查看:83
本文介绍了Java-强制实现已实现方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有三个班级遇到问题.它们的名称为:GameScene,StageScene,StageOne.我的问题是我想在StageScene中实现初始化,但是仍然强制StageOne实现它,以便每当有人使用StageOne对象(stageOne.initialize())时,都会为StageScene和StageOne运行初始化.有人知道该怎么做吗?

I have three classes which I have a problem with. They are named: GameScene, StageScene, StageOne. My problem is that I want to implement initialize in StageScene, but still force StageOne to implement it, so that whenever someone uses a StageOne object (stageOne.initialize()), initialize would be run for both StageScene and StageOne. Anyone know how this could be done?

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-强制实现已实现方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆