main() 是 JVM 开始执行 Java 程序的起点。 如果没有 main() 方法,JVM 将不会执行程序。 main() 方法的语法是:
public:它是一个访问说明符。我们应该在 main() 方法之前使用 public 关键字,以便 JVM 可以识别程序的执行点。如果我们在 main() 方法之前使用 private、protected 和 default,它将对 JVM 不可见。
static:你可以使用关键字 static 将方法设为静态。我们应该在不创建对象的情况下调用 main() 方法。静态方法是在不创建对象的情况下调用的方法,因此我们不需要任何对象来调用 main() 方法。
void:在Java中,每个方法都有返回类型。 void 关键字向编译器确认 main() 方法不返回任何值。
main():它是在 JVM 中预定义的默认签名。 JVM调用它来逐行执行一个程序,并在该方法完成后结束执行。我们也可以重载 main() 方法。
String args[]:main() 方法也接受来自用户的一些数据。它接受一组字符串,称为字符串数组。它用于以字符串值的形式保存命令行参数。
主要(字符串参数 [])
这里 agrs[] 为数组名,为 String 类型。 这意味着它可以存储一组字符串。 请记住,这个数组也可以存储一组数字,但只能以字符串的形式。 传递给 main() 方法的值称为参数。 这些参数存储在 args[] 数组中,因此通常使用名称 args[]。
如果 main() 方法在没有 String args[] 的情况下编写会发生什么?
程序会编译,但不会运行,因为 JVM 无法识别 main() 方法。 请记住,JVM 总是寻找带有字符串类型数组作为参数的 main() 方法。
执行过程
首先,JVM 执行静态块,然后执行静态方法,然后创建程序所需的对象。 最后,它执行实例方法。 JVM 以最高优先级执行静态块。 这意味着 JVM 在查找程序中的 main() 方法之前首先进入静态块。
举例说明
输出:
我们观察到 JVM 首先执行静态块,如果它存在于程序中。 之后,它搜索 main() 方法。 如果找不到 main() 方法,则会出错。
举例说明:
没有 main() 方法的程序在运行时会出错。
输出:
所以 main() 方法应该总是写成:
我们可以把public和static互换,写成如下:
我们还可以为 String 类型数组使用不同的名称并将其写为:
编写 main() 方法的不同方法是:
String...args:它允许方法接受零个或多个参数。 字符串和数组之间应该正好有三个点; 否则,它会给出错误。
举例:
一个没有 main() 方法但编译并运行成功的程序。
输出:
main() 方法的重载
我们也可以重载 main() 方法。 我们可以在类中定义任意数量的 main() 方法,但方法签名必须不同。
举例:
输出: