当前位置: 首页 > 知识库问答 >
问题:

为什么这个Java代码在Minecraft中起作用,而在正常的Java项目中却不起作用?

于鸿博
2023-03-14

我正在学习代码通过yt黑客客户端,但我有问题理解一些东西,。https://www.youtube.com/watch?v=-vh8wuja1re&t=171s大约2到3分钟,他将公共静态void启动放到一个他命名为“client”类中。然后他上了Minecraft的课,在某一行上了Client.Startup。我想知道为什么这会起作用,因为这两个类都不是主要的类,我尝试在一个不同的正常Java eclipse项目(不是mcp)中复制这一点,但它没有起作用。我知道您可以使用static to acess方法而不需要创建类的对象引用变量,但是教程中的两个类都不是主要类。为什么这行得通?

共有1个答案

邰德业
2023-03-14

因为当您运行一个Java类时,JVM会寻找一个公共静态void main(String args[])方法作为起点。

当另一个程序加载您提供的类时,程序本身具有main方法。您只是提供了一个类,实现了某个接口,或者扩展了某个其他类,或者拥有了一个具有商定签名的方法,这样调用代码就知道如何处理您的类了。但您不是作为一个独立的程序运行您的类。因此不需要main

 类似资料:
  • 问题内容: 我可以使用以下代码和Java 8对用户列表进行排序,而不会出现任何问题: 现在,我改用Java 7,但在Eclipse上没有看到错误。但是现在,在Java 7下运行时出现此错误: 如何解决? 问题答案: Java 7(以及Java 8的早期版本)和Java 8u20之间的工作方式有所不同(Holger指出,版本8032636)。 Java 7 指定: 此实现将指定的列表转储到数组中,对

  • 因此,下面的代码,从txt文件中取序列号作为参数,在我的计算机上正常工作。每个数字都写在一行上。下面是代码: 但它在CodeEval中不起作用。站点编译器是这么说的: Fontconfig错误:无法加载默认配置文件线程“main”java.awt.HeadLessException:未设置X11显示变量,但此程序执行了需要它的操作。在java.awt.GraphicsEnvironment.Che

  • 拿我正在试验的这个非常简单的框架来说(这样我就可以更深入地学习JavaScript的函数原型。) 这工作很棒。控制台的输出是: 对象{ui:对象,操作:"单击设置openSidebar",函数:对象,运行:函数} 但是,当我尝试这样做时: 在openSidebar()中的的上下文是openSidebar(又名bind没有效果)。控制台输出: 对象{openSidebar:function} 但是,

  • 通过选择,,和,我创建了一个全新的Spring初始化项目。 我做了一个小项目: 我试着将三个人保存到数据库中。保存方法只返回需要执行的Mono。如果我尝试通过简单的订阅来执行它,一切都很好: 但是,当我使用而不是时,应用程序挂起: 如果我手动查询数据库,我会看到Jim已被保存,但Jack和John未被保存。 这是窃听器,还是我做错了什么?我希望在代码进一步发展之前保证用户在数据库中,所以我真的很想

  • 问题内容: 显然有一些根本尚不了解的东西。 我试图使用户成为Angular Ui.Bootstrap中的Modal模块的用户,但是我发现我的点击没有激活该功能- 因此将其简化为一个非常简单的测试用例,如下所示,当ng-click时我看不到任何调用指向一个函数(alert或console.log),但是当ng- click指向一个仅表示表达式的东西时确实起作用 为什么在第一个示例中未调用? http