Xunlan_ 2022-06-03 11:55 采纳率: 57.1%
浏览 14

java如何通过实例名获取实例

java中有没有这样一个方法func(String name):

有:

class cls{
  ...
}

cls obj = new cls();

通过func("obj")获取到obj对象。
就是通过实例名获取到实例本身。

可以提供实例的类。

不希望通过map之类的方法实现。

  • 写回答

1条回答 默认 最新

  • 吕布辕门 新星创作者: 后端开发技术领域 2022-06-03 16:46
    关注

    创建的这个类的需要继承一个接口(Interface) ,因为获取了实例需要强制转换成某一个借口的实例才可以调用其中的方法。

    创建一个Class类的引用,调用Class类的静态方法forName(String),参数为类的绝对路径(包含包路径如:org.test.GetClass)。

        Class onwClass = Class.forName("org.test.GetClass");
    

    现在我们有了一个Class类的实例了。下面就是获取一个Object类的实例对象。

        Object o = onwClass.newInstance();
    

    现在我们已经有了一个Object对象,下一步就可以对这个Object进行强制转换了。

    假如org.test.GetClass 继承一个叫GetInterface的接口。我们就可以把这个object对象强制转换成这个接口,然后就可以调用其中的方法了。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月3日