如何解决如果JVM具有该类的名称,为什么JVM无法创建包含主方法的类的对象以便从该类访问主方法?
好吧,我不理解为什么JVM无法创建具有主要方法的类对象。
如果JVM可以通过该类的名称访问主方法,那么肯定可以创建该类的对象!
但是通过类名访问main方法的原因是什么?
我问这个问题是因为,如果 JVM具有类名来访问主方法,那么它肯定可以使用该名称创建该类的对象。 / p>
解决方法
我认为您是在问(实际上)为什么不能这样编写“ main”方法:
// (Note: this does not work ...)
public class Test {
public void main(String[] args) {
System.out.println("Hello world");
}
}
NB:以上的main
不是static
...
答案是:
-
因为那不是1990年代Java的设计方式。
-
我们无法告诉您为什么他们以这种方式设计Java,因为做出决定时我们不在会议室。
-
我们可以推断出,(当前)Java团队没有扩展Java来允许您执行上述操作的原因是因为迫切需要这样做。实际上,
static
“主要”方法有效。俗话说:如果它没有损坏,请不要修复它。
如果您希望应用程序的入口点是通过一个对象,那么对它进行编码以使其工作很简单。例如:
public class Test {
public static void main(String[] args) {
new Test().main(args);
}
private void main(String[] args) {
System.out.println("Hello world");
}
}
那只是3行额外的代码。
请注意,从Java的规范和Java的实现角度来看,static
main方法是最简单的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。