java 在Kotlin中,如何从另一个类的枚举类访问这个函数?

krcsximq  于 2023-03-11  发布在  Java
关注(0)|答案(1)|浏览(165)

为了方便游戏中屏幕之间的导航,我创建了这个类

enum class ScreenEnum {
    MAIN_MENU {
        fun getScreen(): BaseScreen {
            return MenuScreen()
        }
    },
    GAME {
        fun getScreen(): BaseScreen {
            return GameScreen()
        }
    }
}

但是我不知道如何从Kotlin中的另一个类访问这些方法,我在创建枚举类的时候做错了什么吗?如果你能帮助我,先谢谢你。

class Game() : BaseGame() {
    override fun create() {
       super.create()
       // -> Here is where I am trying to access the getScreen method
       // ScreenEnum.MAIN_MENU
    }
}

我尝试从Java类访问,但没有成功

o8x7eapl

o8x7eapl1#

使其成为共享抽象方法:

enum class ScreenEnum {
    MAIN_MENU {
        override fun getScreen(): BaseScreen {
            return MenuScreen()
        }
    },
    GAME {
        override fun getScreen(): BaseScreen {
            return GameScreen()
        }
    };

    abstract fun getScreen(): BaseScreen
}

相关问题