Java 如何在方法重写中使用main方法?

Java 如何在方法重写中使用main方法?,java,overriding,main-method,Java,Overriding,Main Method,我刚刚开始学习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(); }

我刚刚开始学习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();  
  }  
}  
错误是:

错误:在类车辆中找不到主方法,请将主方法定义为: 公共静态void main(字符串[]args) 或者JavaFX应用程序类必须扩展JavaFX.application.application

输出应为:车辆正在运行

我试图在“class Vehicle”之后键入语句“publicstaticvoidmain(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中出现异常。错误:未解决的编译问题: 令牌“void”上的语法错误,应为新 无法将运行解析为类型 System.out无法解析为类型 语法错误,插入“标识符”()以完成MethodHeaderName 语法错误,请插入“)”以完成MethodDeclaration 语法错误,请插入“;”以完成MethodDeclaration 语法错误,插入“}”以完成类正文 此方法需要正文而不是分号 令牌“}”上出现语法错误,请删除此令牌

at Vehicle.main(Vehicle.java:3)
有人能解释一下在上面的程序中插入“main方法”的正确方法吗

提前Thx。

这是错误的:

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方法的类)

您第一次是正确的:

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

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

您是如何编译和运行此代码的?在
Vehicle的
main()方法中有一个方法定义。这是一个输入错误还是你真的想运行它?第一个示例编译并运行良好。使用“javac vehicle.java”进行编译,并在Bike类中以“java Bike”为主执行程序。这可能有助于我执行“清理和构建”,但仍然显示相同的错误。我尝试了上述程序,但仍然显示相同的错误。它还显示了公共类型测试必须在它自己的文件中定义。如果我也删除public,它仍然显示相同的错误。错误:“在类Vehicle中找不到Main方法,请将Main方法定义为:public static void Main(字符串[]args)或JavaFX应用程序类必须扩展JavaFX.application.application”