Javadocは、Objectクラスにはパブリックの引数なしコンストラクターがあると述べています。ただし、Objectのソースコードには明示的なコンストラクターが含まれていません。したがって、明らかにコンパイラはそのために1つ生成しました。ただし、コンストラクターが返そうとしているときに呼び出しスタックのトレースが表示された場合(以下に示すように)、そのトレースにはへの呼び出しは表示されませんObject.<init>
。
だから問題は、ドキュメントが言うように、オブジェクトクラスにはデフォルトのコンストラクタがありますか?はいの場合、コールスタックトレースに表示されないのはなぜですか?
public ConTest()
{
new Throwable().printStackTrace();
}
結果:
java.lang.Throwable
at ConTest.<init>(ConTest.java:8)
at ConTest.main(ConTest.java:16)