我正在寻找在对象类中保护的finalize方法的答案,我得到了答案,最后因为我发现对于对象类的finalize()方法感到困惑,它已经说过:它不是公共的(或默认访问)因为它意味着当对象被垃圾收集时由内部JVM调用 - 它并不意味着被其他任何东西调用。
public static void main(String arr []),这也意味着只能由JVM调用,因为JVM在我的项目之外的类之外,所以要通过JVM访问这个方法,它应该是公共的。
这对JVM和main()有意义,但是finalize()方法的原因与JVM调用的原因相同,它不能公开。
有人可以让我清楚这张照片。提前致谢
答案 0 :(得分:1)
没有理由阻止普通Java代码调用main
方法;事实上,它通常是被调用的框架代码,它在执行一些初始化后执行任意类的main
方法。
与此相反,自己调用任何对象的finalize
是危险的,几乎可以保证打破对象的不变量。
答案 1 :(得分:0)
答案是,有时您可能希望从Java代码中调用另一个项目的main方法。对于最终化
,情况也是如此