在类中找不到 main(String[]) 方法:TapeDeck。主要方法在运行程序的另一个类中
Posted
技术标签:
【中文标题】在类中找不到 main(String[]) 方法:TapeDeck。主要方法在运行程序的另一个类中【英文标题】:Can't find main(String[]) method in class: TapeDeck. The main method is in the other class which runs the program 【发布时间】:2019-09-11 16:13:54 【问题描述】:我有两节课。当我将类 TapeDeckTestDrive 首先放在文本编辑器上时,它运行良好。当我把TestDrive类放在第一位时,它给出了找不到主类的错误。这是为什么呢?
class TapeDeck
boolean canRecord = false;
void playTape()
System.out.println("tape playing");
void recordTape()
System.out.println("tape recording");
class TapeDeckcTestDrive
public static void main(String[] args)
TapeDeck t = new TapeDeck();
t.canRecord = true;
t.playTape();
if (t.canRecord == true)
t.recordTape();
此格式错误
VS
以下工作正常:
class TapeDeckcTestDrive
public static void main(String[] args)
TapeDeck t = new TapeDeck();
t.canRecord = true;
t.playTape();
if (t.canRecord == true)
t.recordTape();
class TapeDeck
boolean canRecord = false;
void playTape()
System.out.println("tape playing");
void recordTape()
System.out.println("tape recording");
【问题讨论】:
你的java类(文件)名是什么? 解决这个问题的简单方法,也是最好的方法是每个文件有一个类。 @Abdul Hussain 请告诉文件名 它运行良好,它给出了错误:什么是“它”。你如何执行你的应用程序? 这不是执行课程的最佳方式。首先你用 javac 编译你的代码。然后使用 java 并传递包含 main 方法的类的完全限定名称。 【参考方案1】:在某些 JDK 中,JVM 首先处理入口点函数,因此需要先编写它,然后再编写其余代码。由于 main 函数是我们的入口函数,所以必须先编写。
【讨论】:
【参考方案2】:您可以通过两种方式运行 java 程序。
直接运行java程序
java example_program.java
在这种类型中,编译和执行发生在运行时。那是 字节码立即生成并执行(作为解释器工作) 所以,你必须先使用超类(包含主方法),然后再使用其他 复合类。
注意: 不会生成 .class 文件。这意味着,它将在内部生成字节码并执行。程序员无法查看类文件。
在第二种类型中,首先,你应该编译,
javac example_program.java
它将生成 example_program.class 。然后,使用,执行类文件,
java example_program
在这里,编写类的顺序不受影响。您可以按任何顺序编写类。它会正常工作的。
【讨论】:
【参考方案3】:首先,您必须使用javac
编译文件。
然后,您必须运行该文件。
编写 main 的类名。
javac filename.java
java classname
【讨论】:
【参考方案4】:使用命令编译代码后:
javac fileName.java
通过仅指定 fileName
而不带 .java
扩展名来运行 java .class
文件
java fileName
如果您使用fileName.java
,它将不会运行特定的.class
文件;它将尝试解释.java
文件。如果要解释 .java
文件,则父类必须包含 main(String[])
方法。
【讨论】:
【参考方案5】:我将它分成两个文件,并将 public 添加到类/方法以及布尔值。现在代码运行。
【讨论】:
以上是关于在类中找不到 main(String[]) 方法:TapeDeck。主要方法在运行程序的另一个类中的主要内容,如果未能解决你的问题,请参考以下文章
(转)错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx
错误: 在类中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程
错误: 在类中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程
错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须