【发布时间】:2023-12-27 10:50:01
【问题描述】:
我刚刚开始学习 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 中找不到主方法,请将主方法定义为: 公共静态无效主要(字符串 [] 参数) 或者 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 语法错误,插入“;”完成方法声明 语法错误,插入“}”完成ClassBody 此方法需要正文而不是分号 标记“}”的语法错误,删除此标记
at Vehicle.main(Vehicle.java:3)
谁能解释一下在上述程序中插入“主方法”的正确方法是什么。
提前致谢。
【问题讨论】:
-
你是如何编译和运行这段代码的?
-
Vehicle的main()方法中有一个方法定义。这是一个错字还是你真的想运行它? -
第一个示例编译并正常工作。
-
使用“javac vehicle.java”编译并使用“java Bike”作为主程序在Bike类中执行程序。这可能会有所帮助
标签: java overriding main-method