所以我刚刚开始学习java并且已经来到这个例子:
class Dog {
int size;
String breed;
String name;
void bark() {
System.out.println("Ruff! Ruff!");
}
} // class Dog
class DogTestDrive {
public static void main(String[] args) {
Dog d = new Dog();
d.size = 40;
d.bark();
} // end main
} // class DogTestDrive
当我尝试运行它时,我收到以下错误:错误:在类Dog中找不到主方法,请将main方法定义为: public static void main(String [] args)
我没看到问题出在哪里?这应该只适用于一个主要的方法。
答案 0 :(得分:3)
当你启动java时,你告诉它要执行哪个类。 Java在指定的类中找到main()
方法并调用它。
您需要告诉java执行DogTestDrive
。
请注意,如果您在IDE中执行此操作,只需右键单击项目中的DogTestDrive
并谴责“运行”即可。
类java运行必须是一个“顶级”类 - 它是在与自己同名的文件中声明的类,但添加了.java
(不是在另一个类中声明的类)文件)。
答案 1 :(得分:1)
您的主要方法是在课程DogTestDrive
而不是课程Dog
。
答案 2 :(得分:0)
Tim B的含义是您必须运行DogTestDrive
而不是Dog
。这样就可以使用DogTestDrive
中的主要方法,并且不需要Dog
中的主要方法。
答案 3 :(得分:0)
在Java中,每个扩展名为.java
的文件都有一个与该文件同名的公共类(例如Dog.java
具有public class Dog {...
)。一个文件可以有多个类,但只有一个可以是public
。
当您运行名为Dog.java
的文件时,Java将尝试在文件中执行Dog.main
。如果您希望DogTestDrive.main
运行,则必须将DogTestDrive
放入DogTestDrive.java
至于class Dog {...
,可以放在同一个文件中,也可以放在自己的Dog.java
文件中,后者是首选,因为然后文件外的类将能够访问它。
答案 4 :(得分:-1)
您的代码运行正确,但要确保该文件名为“DogTestDrive.java”,因为您必须运行它。此外,您应该将DogTestDrive类声明为public
(不是必需的)。
class Dog {
int size;
String breed;
String name;
void bark() {
System.out.println("Ruff! Ruff!");
}
} // class Dog
public class DogTestDrive {
public static void main(String[] args) {
Dog d = new Dog();
d.size = 40;
d.bark();
} // end main
} // class DogTestDrive