public static void main(String[] args)是main方法的固定写法
整体解释
main方法为JAVA程序的入口地址
注:
- 任何程序只能有一个主函数
编译时
,没有main方法是可以的。因为编译只要符合词法、语法的规则即可
运行
则不然,一个程序要运行就一定要有一个入口,该入口就是main()- main方法在java中是
没有返回值
的,也就是说main中一般情况下是没有return的 - 当main方法最后一行代码执行完毕之后,下一条是}的时候,就自动
结束
main方法。但main方法的结束并不意味着程序结束
拆分解释
public
修饰符,声明其他类可以访问这个函数,一个xxx.java文件只有一个类
被public修饰,且该类名一定要是文件名
static
告知编译器main()为静态函数
void
表明main()这个方法的返回值是无类型
class
关键字,表明我们定义了一个类,类名叫做main。一个class对应一个类,一个class对应一个类,但不可以存在重名的两个类
代码
为了更加清晰它的含义,我使用一段代码将语句拆开解释来加深印象
import java.util.Scanner; //导入Scanner类,来实现键盘输入
public class Explain{
public static void main(String[] args){
System.out.println("please enter the first three letters of the part of 'public static void main(String[] args)'that you want to know"); //输入想了解部分的前三个字母
Scanner sc =new Scanner(System.in);
String str = sc.nextLine();
switch(str)
{
case "pub" : //解释public
case "PUB" :
case "Pub" :
System.out.println("修饰符,声明其他类可以访问这个函数");
break;
case "sta" : //解释static
case "STA" :
case "Sta" :
System.out.println("告知编译器main()为静态函数");
break;
case "voi" : //解释void
case "VOI" :
case "Voi" :
System.out.println("表明main()的返回值是无类型");
break;
case "str" : //解释String[]
case "STR" :
case "Str" :
System.out.println("简单讲一个字符串数组,更多请细品文章大佬链接嘿嘿");
break;
default:
System.out.println("触及知识盲区"); //在保存时为了输出中文,应该将编码类型改为ANSI
}
}
}
解释内容出自kiera的文章,非常感谢kiera的解答。