问题已编辑。
*同时,这不是我的代码,原来;它是从 Java 复制的 教程教科书。
这是运行后的输出:error: can't find main(String[]) method in class: Dog
这可能是什么原因?
class Dog {
int size;
String breed;
String name;
void bark() {
System.out.println("Ruff!");
}
}
class DogTestDrive {
public static void main(String[] args){
Dog d = new Dog();
d.size = 40;
d.bark();
}
}
答案 0 :(得分:0)
你的'main'在DogTestDrive类中,它在Dog类中的Bark方法中。
这可能不是你想要的。检查你的牙套。
如果你是故意的,那就错了。内部类 DogTestDrive 不能有“静态”成员,因此不能在那里声明“main”。
两个顶级课程会更合适。
答案 1 :(得分:0)
您试图在 class
方法中使用 static
方法声明 bark()
,但这是不可能的。因此,您需要将 DogTestDrive
类声明移出 bark()
方法,但它仍然不起作用,因为 DogTestDrive
在您的示例中不是 static
,而是方法 {{ 1}} 在里面。因此,您需要将 main
声明为静态。
DogTestDrive
class Dog {
int size;
String breed;
String name;
void bark() {
System.out.println("Ruff!");
}
static class DogTestDrive {
public static void main(String[] args) {
Dog d = new Dog();
d.size = 40;
d.bark();
}
}
}
方法调用的输出:
main()
答案 2 :(得分:-1)
我认为错误信息非常直接。 'static' 修饰符不能在内部类中,因此您可以按以下方式重写 DogTestDrive:
Ruff!
此外,我认为 DogTestDrive 类没有理由从 Dog 类继承,因此您可以删除继承。