【发布时间】:2012-12-13 03:53:26
【问题描述】:
Void 类是一个不可实例化的占位符类,用于保存对表示 Java 关键字 void 的 Class 对象的引用。
但构造函数很简单:
private Void() {}
这段代码实例化了一个Void:
Constructor<Void> c = Void.class.getDeclaredConstructor();
c.setAccessible(true);
Void v = c.newInstance(); // Hello sailor
所以Void 不是不可实例化的。
有没有办法让Void 真正无法实例化?
【问题讨论】:
-
出于好奇:你需要它吗? ;) 我猜它只是 returning
void... 方法的反射 API 的占位符...也许只对代理有帮助? -
如果你使用反射,你可以做很多使用 API 做不到的事情。
标签: java reflection void