Java:创建变量类的实例

标签 java

我有接口(interface)Cat由类 LolCat 实现和FatCat 。我的程序需要记住 Cat 是哪种类型用户想要与下一个融为一体。我无法实例化正确的 Cat然而,所以我需要记住这个类。我该怎么做?

<小时/>

我尝试过:

Class nextCatClass = FatCat.class;

但现在我不知道如何使用变量实例化它。 new nextCatClass()不是有效的语法。我也尝试过

Class<Cat> nextCatClass = FatCat.class;

但现在我收到“不兼容类型”错误。

<小时/>

冒着惹恼 Java 用户的风险,以下是我在 Python 中要做的事情:

next_cat_class = FatCat
...
instance = next_cat_class()

最佳答案

您可以使用 lambda Suppliers :

    public static void main(String args[]) {
        Supplier<Cat> lolCatSupplier = LolCat::new;
        Supplier<Cat> fatCatSupplier = FatCat::new;
        Cat lolCat = lolCatSupplier.get();
        Cat fatCat = fatCatSupplier.get();
        System.out.println(lolCat.getClass());
        System.out.println(fatCat.getClass());
    }

关于Java:创建变量类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58720975/

相关文章:

java - 错误的 key 类 : Text is not IntWritable

java - 将字段名称作为参数传递给 Java 中同一类中的方法

Java,更改从同一面板声明创建的 4 个面板之一上的标签文本

java - 时间轴动画JavaFX

java - 如何启动获取文件锁并相互等待的并发线程

java - 计算哈希集中的数字被选取的频率

java - Android服务没有及时更新变量

java - 制定 JPA 标准 'in' 表达式

java - 如何在本地开发服务器上启用 Google Cloud Storage?

java - 智能创意 : HashMap debugging window doesn't show full details related to linked list