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日

悬赏问题

  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥15 Python动态规划:图2箭头指向的代码如何理解?太抽象了
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)的连乘积
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument