Java Can';t加载主类
这是一个简单的类,我是Java的初学者 我不知道为什么这段代码没有运行,为什么会出现错误:Java Can';t加载主类,java,Java,这是一个简单的类,我是Java的初学者 我不知道为什么这段代码没有运行,为什么会出现错误: 无法找到或加载主类 class tuto{ public static void main(String[] args){ System.out.println("Hello World"); } } 在您的代码中有一个编译错误,这是因为Syteme将其更改为System Syteme.out.println("Hello World"); 应该是
无法找到或加载主类
class tuto{
public static void main(String[] args){
System.out.println("Hello World");
}
}
在您的代码中有一个编译错误,这是因为Syteme将其更改为
System
Syteme.out.println("Hello World");
应该是
System.out.println("Hello World");
附言
在Java中,当文件中有一个公共类时,文件名必须是该类名。这是必须的。否则您将得到一个错误
如果包中有此类,则必须首先指定包声明
e、 g
System.out.println
非Syteme.out.println
在Java中(正如有人已经指出的那样),文件名应该与同一文件中的主类的同名
此外,您还应该使用以下语法声明一个数组array\u type[]array\u id
,而不是array\u type array\u id[]
当我看到您的问题时,有几件事让我大吃一惊
首先,您有未解决的编译器错误。如果在“问题”选项卡上看到红色的“x”,则应在尝试运行任何操作之前修复所有错误
第二件事是类名与定义它的文件名不匹配。对于公共类,类的名称和文件的名称必须匹配,虽然您的类不是公共的,但这是一个被广泛采用的Java约定,如果您不遵循它,您会让人感到困惑
至于您的实际问题,我最好的猜测是您已经将类放入了一个包中,而没有在源代码中声明它。如果你去查看“问题”选项卡,它会告诉你哪里出了问题,以及(通常)如何解决问题
如果我执行以下操作,我可以估计您的错误消息:
在本例中,我在Problems选项卡中有一个错误,它抱怨声明的包。
检查是否有类似的内容:
如果您这样做,您可以右键单击错误消息并选择“QuickFix”,eclipse将弹出一个对话框,为您添加包声明:
可能有几个问题:
如果类在包中,请确保指定它。例如:package com.pak代码>
具有main方法的类始终需要是公共的<代码>公共类{}
SystemI中的change Syteme修复了发布代码中的打字错误,因为它不在屏幕截图中,并且错误消息与类名和文件名冲突有关。这不是一个代码语法错误。你能描述一下你是如何运行这段代码的吗?另外,当您将光标悬停在第1行附近的红色x
上时,您会得到什么样的信息?检查文件是否在一个包中。如果您查看屏幕截图,它是System
而不是Systme
,OP在发布它时只是键入了代码。您在包中有这个类吗?如果是这样的话,你必须有包裹declaration@ThusithaThilinaDayaratne你说得对,我在第页写这封信的时候没有把它加到我的错误中。看这张图片,但他没有上公共课。因此这不是必须的。@Thusitathilinadayaratne很好,我没有注意到。我已经对我的答案进行了修改,我把它改成了同一个类,但它不起作用。我告诉你:未解决的编译problem@H-BooTz.exe转到“问题”选项卡,查看其中的内容,并更新您的问题以显示错误消息。编译器会准确地告诉您出了什么问题,但在您向我们显示错误消息之前,我们只是猜测。此规则仅适用于公共类。问题中的类不是公共类。但如果我们不指定它是公共类
或私有类
类,它默认情况下不应该是公共类吗?不,有四个可见性修饰符:公共类
,受保护类
,默认(也称为包可见性-当您不指定任何可见性修饰符时),和private
。类(外部类,如OP屏幕截图中的类,而不是内部/嵌套类)只能有public
或默认修饰符。没问题。既然我们同意这个答案不能解决OP问题,就考虑删除它。否则你就有可能被否决。
package abc;