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

时间:2015-12-29 20:50:49

标签: java constructor profiling new-operator invocation

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

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

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

1 个答案:

答案 0 :(得分:2)

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

  

有两种用于创建类实例的反射方法:   java.lang.reflect.Constructor.newInstance()和Class.newInstance()。   前者是首选。

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