构造函数调用绑定到 Java 中的新关键字?

Constructor invocation bound to new keyword in Java?

我正在研究 Java 代码分析,我需要知道一个方法在源代码中调用构造函数的次数。到目前为止,最简单的方法是扫描 new 关键字并计算构造函数被调用的次数。我想知道是否有可能在没有 new 关键字的情况下调用构造函数?

此外,如果我只扫描 new 关键字并将其仅与构造函数调用绑定,则 new 关键字可能可以除了构造函数调用之外,还可以用于其他目的吗? (在那种情况下,如果代码中出现这样的语句,我的构造函数调用计数可能是错误的)

编辑:我想在调用任何构造函数时增加计数。

是的,这可以通过 Java 反射 API 和其他方式如 described in this question 实现。

There are two reflective methods for creating instances of classes: java.lang.reflect.Constructor.newInstance() and Class.newInstance(). The former is preferred.

此处描述:https://docs.oracle.com/javase/tutorial/reflect/member/ctorInstance.html