如何在Java中存储对类的引用?

大众注册:

Java中有什么方法可以存储对类的引用?这是我想做的:

public class Foo
{
    public static void doSomething() {...}
};

SomeClass obj = Foo;
obj.doSomething();

是否有一些类“ SomeClass”可以让我存储对一个类的引用,以便以后可以使用该存储的对象调用原始类的静态成员?

显而易见的是Class类:

Class obj = Foo.class;
obj.someMember().doSomething();

但是我还没有弄清楚Class的哪个成员可以充当“ someMember()”……我想他们都不是。

有谁知道我想做的事情在Java中是否可行?

埃里卡(Erica):

您可以使用类上的getMethod()方法从Class对象动态获取方法。如果方法是静态的,则“调用”的“对象”参数将为空。

例如,上面的“ obj.someMember()”将如下所示:

obj.getMethod("someMember", null).invoke(null, null);

多余的null是因为您的方法不需要参数。如果您的方法采用参数,则需要相应地传递它们。

这将引发各种检查异常,因此您也需要处理这些异常。

调用方法后,它将返回一个Object。您将需要将其强制转换为所需的任何类型,然后就可以直接在其上运行“ doSomething()”方法。

如果您想进一步了解它,可以使用一种称为反射的技巧。:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在枚举中存储类引用?

来自分类Dev

如何在通用类数组列表中存储对象并按名称引用Java-Homework

来自分类Dev

如何在类中存储对 C 样式数组的引用?

来自分类Dev

如何在 C++ 中将类的引用存储在相同类型的类中?

来自分类Dev

如何在单独的Java类中引用线程?

来自分类Dev

如何在Java中引用匿名类实例?

来自分类Dev

如何在同一目录中引用Java类?

来自分类Dev

如何在 Clojure 的 Java 类中引用 Enum

来自分类Java

如何在Java中迭代向量并仅存储指定的类?

来自分类Java

如何在Java类中存储UUID字段?

来自分类Dev

如何在JSDoc中引用存储库?

来自分类Dev

如何在PowerShell中引用UWP类

来自分类Dev

如何在scala中引用自己的类?

来自分类Dev

如何在Kotlin中获得对Java超类的静态类的引用

来自分类Dev

如何在Realm中存储NSObject类?

来自分类Dev

如何在Android中存储类数组

来自分类Dev

Django:如何在类中添加模型类或引用?

来自分类Dev

如何在类的方法中引用创建的类实例?

来自分类Java

Java的包装类如何存储在HashMap中?

来自分类Dev

如何在java类adf 12c中从会话中存储和获取值

来自分类Dev

如何在Java的单独类中创建两个对象引用变量

来自分类Java

Java:如何在抽象类中引用子类的静态变量?

来自分类Java

引用Java中的类

来自分类Dev

如何在Rust中存储对结构的void *引用?

来自分类Dev

如何在std :: set中存储指向对象的指针(或引用)

来自分类Dev

如何在 Git 中引用存储库的开头

来自分类Dev

如何在Go中存储对操作结果的引用?

来自分类Dev

如何在 Jenkins 中引用多个存储库?

来自分类Dev

如何在模板中存储右值或左值引用

Related 相关文章

热门标签

归档