Java中的main()方法是强制性的吗?
问题是“main()
在Java中方法是强制性的吗?”
是的,我们可以编写一个没有main()方法的java程序,但是有一个条件当且仅当javajdk版本到jdk5。
直到JavaJDK5的main()方法不再强制包含在Java程序中。
如果我们不在main()方法中编写代码或在程序中不包含main()方法,那么在这种情况下,我们只需要在静态块下编写代码,那么在这种情况下,我们可以像我们一样正常执行代码。
示例
//Java程序演示直到Java JDK5版本 //没有main()方法是可能的。 class WithoutMainMethod { static { int i = 2, j = 4, sum; sum = i + j; System.out.println("The sum of i and j is :" + sum); System.out.println("This program is without main() valid till JDK 5 version"); } }
输出结果
E:\Programs>javac WithoutMainMethod.java E:\Programs>java WithoutMainMethod The sum of i and j is : 6 This program is without main() valid till JDK 5 version
在使用静态块的情况下,该静态块在main()方法之前执行。
静态块在类加载时执行。
对于main()方法,我们的程序从main()方法开始执行,换句话说,它是程序执行的起点。
我们可以直接调用main()方法,而无需创建对象,因为它是静态的。
直到JavaJDK5main()方法没有强制执行,但是从JavaJDK6main()开始是强制性的,如果我们在程序中不包含main()方法,则将得到RuntimeException“在类中找不到main方法”。
示例
//程序演示无main()方法 //从Java JDK 6版本开始 class WithoutMain{ int i=2 , j=4 , sum=0; sum = i + j; System.out.println("The sum of i and j is :" + sum); System.out.println("This program without main() is not valid from JDK 6 version"); }
输出结果
E:\Programs>javac WithoutMain.java E:\Programs>java WithoutMain Error: Main method not found in class WithoutMain, please define the main method as: public static void main(String[] args)