我们能否在 Java 中将 main() 方法声明为非静态方法?
公共的static void main(String ar[])方法是 Java 中执行的入口点。当我们运行一个 .class 文件时,JVM 会搜索 main 方法,并逐行执行其内容。
你可以在你的程序中编写 main 方法,而无需static 修饰符,程序可以在没有编译错误的情况下编译。
但是,在执行时,JVM 不会将这个新方法(没有 static)视为程序的入口点。它会搜索公共的 main 方法,该方法具有 static、返回类型为 void,并且有一个 String 数组作为参数。
public static int main(String[] args){ }
如果没有找到这样的方法,就会产生一个运行时错误。
示例
在 Sample 类中的以下 Java 程序中,我们有一个 main 方法,它公开,无返回值(void),并接受一个 String 数组作为参数。但不是静态的。
import java.util.Scanner; public class Sample{ public void main(String[] args){ System.out.println("This is a sample program"); } }
输出
执行此程序时,会生成以下错误 -
Error: Main method is not static in class Sample, please define the main method as − public static void main(String[] args)
广告