gpt4 book ai didi

java - 如何在java中调用 "Class"类作为参数

转载 作者:搜寻专家 更新时间:2023-11-01 01:08:00 25 4
gpt4 key购买 nike

例如,我在类 BugReportFactory 中有以下方法:

public static void addFactoryImpl(Class impl) { }

我想通过以下方式从另一个类调用这个方法:

BugReportFactory.addFactoryImpl(new BugReportFactoryAndroid());

它表示以下参数不适用于 Class 类。

谁能告诉我错误?

还有一个问题:

private static IBugReportFactory INSTANCE = null; 
public static void addFactoryImpl(Class impl) {
INSTANCE = (IBugReportFactory)impl;
}

但它显示错误,指出您不能将类转换为对象?

最佳答案

尝试以下操作,Object 类有一个 getClass()方法

BugReportFactory.addFactoryImpl(new BugReportFactoryAndroid().getClass());

或者

BugReportFactory.addFactoryImpl(BugReportFactoryAndroid.class);

会完成工作。

ONE MORE QUESTION:

private static IBugReportFactory INSTANCE = null; 
public static void addFactoryImpl(Class impl) {
INSTANCE = (IBugReportFactory)impl;
}

But it shows errors specifying that you cannot cast

类不同实例不同。将您的 INSTANCE 变量类型更改为 Class

private static Class INSTANCE = null;
public static void addFactoryImpl(Class impl) {
INSTANCE = impl;
}

类是实例的蓝图。您不能将实例分配给类引用。两者是两个不同的东西。

关于java - 如何在java中调用 "Class"类作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22905097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com