在一次 java 面试中,提出了以下问题:
在java中有没有一种方法可以在不使用 new
运算符的情况下实例化对象?我回复他说没有其他的实例化方式。但是他问我如何使用 xml
文件中的配置实例化 java 中的对象(在 spring 框架中)。我说过,spring 在内部使用 reflection utils
创建一个带有 new
运算符的对象。但是面试官不相信我的回答。
我看到 此链接 很有用,但有一个 new
运算符间接参与一个或另一个内部方法。
是否真的有一种方法可以在不使用 new
运算符的情况下在 java 中实例化对象?
原文由 Arun 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 Java Reflection API 来完成。这就是 Spring 框架的 DI 的工作方式(从 xml 实例化对象)。
此外,考虑到
enum
是一个special class
,枚举的实例是在不使用new
运算符的情况下创建的。