-1

我刚刚开始学习 Java,并且正在学习方法覆盖。尝试在 Eclipse 中运行程序时出现错误。程序如下:

class Vehicle{  
  void run(){System.out.println("Vehicle is running");}  
}  
class Bike extends Vehicle{  

  public static void main(String args[]){  
  Bike obj = new Bike();  
  obj.run();  
  }  
}  

错误是:

错误:在类 Vehicle 中找不到主方法,请将主方法定义为:public static void main(String[] args) 或 JavaFX 应用程序类必须扩展 javafx.application.Application

输出应该是:车辆正在运行。

我试图在“class Vehicle”之后键入语句“public static void main(String[] args)”,但出现其他错误。我尝试了以下程序:

class Vehicle{  
     public static void main(String[] args){
  void run(){System.out.println("Vehicle is running");}  
     }
}  
class Bike extends Vehicle{  

  public static void main(String args[]){  
  Bike obj = new Bike();  
  obj.run();  
  }  
}  

然后,我收到以下错误:

线程“main” java.lang.Error 中的异常:未解决的编译问题:令牌“void”上的语法错误,新的预期运行无法解析为类型 System.out 无法解析为类型语法错误,插入“标识符(”完成 MethodHeaderName 语法错误,插入“)” 完成 MethodDeclaration 语法错误,插入“;” 完成 MethodDeclaration 语法错误,插入“}”以完成 ClassBody 此方法需要正文而不是分号 标记“}”上的语法错误,删除此标记

at Vehicle.main(Vehicle.java:3)

谁能解释在上述程序中插入“主要方法”的正确方法。

提前谢谢。

4

2 回答 2

1

这是错误的:

class Vehicle {
    public static void main(String[] args){
 void run(){System.out.println("Vehicle is running");}
    }
}

你不能只是将一个方法定义嵌套在另一个方法中......

您可以执行以下操作:

public class Test {

    public static void main(String args[]) {
        Bike obj = new Bike();
        obj.run();
    }

}

class Vehicle {
    void run() {
        System.out.println("Vehicle is running");
    }
}

class Bike extends Vehicle {

}

并确保您正在运行以启动应用程序的类是测试类(具有静态 void main 方法的类)

于 2017-06-26T07:52:45.670 回答
0

你第一次是对的:

class Vehicle {  
    void run() {
        System.out.println("Vehicle is running");
    }  
}  
class Bike extends Vehicle {  

    public static void main(String[] args) {  
        Bike obj = new Bike();  
        obj.run();  
    }
}  

这确实运行我刚刚测试过,这是我的输出:

Vehicle is running
Process finished with exit code 0

我可以建议您在运行之前尝试进行“清理和构建”。

于 2017-06-26T07:59:51.977 回答