のjavadocは次のようにVoid
述べています。
Voidクラスは、Javaキーワードvoidを表すClassオブジェクトへの参照を保持するためのインスタンス化できないプレースホルダークラスです。
しかし、コンストラクターは単純です。
private Void() {}
このコードは:をインスタンス化しますVoid
。
Constructor<Void> c = Void.class.getDeclaredConstructor();
c.setAccessible(true);
Void v = c.newInstance(); // Hello sailor
したがって、インスタンス化できないわけVoid
ではありません。
Void
本当にインスタンス化できないようにする方法はあったでしょうか?