java - 如何返回指定为特定类的子类型的类型?
问题描述
本质上,我有一个枚举,我想返回一个对应于该枚举值的类的实例。所有这些实例都是特定类的子类。我将展示一个示例:
public Trait returnTrait(EnumX enum)
{
switch (enum)
{
case EnumX.TRAITSUBCLASS1:
{
return new TraitSubClass1();
}
case EnumX.TRAITSUBCLASS2():
{
return new TraitSubClass2();
}
}
}
但是,当我使用上面的代码时,返回被转换为纯粹的 Trait,并且特定于其类型的方法不可用,只有来自 Trait 的方法可用。我怎样才能使这个方法的返回类型只是扩展 Trait 的类?会是那种Class<? extends Trait>
类型的东西吗?
解决方案
推荐阅读
- kivy - Kivy Touch - Raspbian Stretch 26.07
- java - 将未导出/未打开的包添加到模块信息的 ModulePackages 的用例是什么?
- ios - 如何将 htmlString 显示到 webview 中?html 字符串包含引导图像
- javascript - 动漫js问题(完整功能)
- java - Eclipse 在 Ubuntu 16.04 上使 JVM 崩溃
- crystal-lang - 如何在 Crystal 中进行用户输入
- hive - 蜂巢中collect_list的计数并根据条件显示计数
- android - startForeground() 总是在三星 8.0 设备上显示一个弹出窗口
- sql - SQL根据不同情况从表中选择不同的记录
- scala - 在 countDistinct agg 函数中排除空字符串