1,main()函数是什么?
main函数是优先被程序所执行的函数,也是许多新手第一次编程就要求记下来的,源码如下:
public static void main(String[] args){
//代码
}
2,main()为什么被public修饰?
所有程序都是运行在JVM上的,运行项目时JVM需要访问main()函数,其中对于权限词最基本的属性如下:
权限\权限修饰词 | public | protected | default | private |
同一包的同一个类 | 是 | 是 | 是 | 是 |
同一包的不同的类 | 是 | 是 | 是 | 否 |
不同包的子类 | 是 | 是 | 否 | 否 |
不同包的非子类 | 是 | 否 | 否 | 否 |
可见public在不同情况下都能被访问,因此jvm在访问时不会出现因权限而造成的错误
3,main函数为什么是静态的?
main为什么被static修饰?原因还是JVM需要调用,与其他函数不同的是,被static修饰的函数可以直接被调用,不需要被创造个实例,因此main函数不能直接访问非静态的元素
4,main函数既然是void那为啥结束后会返回exit的值呢?
程序退出码不代表是main的返回值,举个例子,你可以调用System下的exit()函数,括号里甚至可以随便填写结束状态码
5,main函数的String[] args到底是什么?
假设我们不是使用的main函数,例如:
public static void func(String[] abc){}
当然,你肯定知道这是写一个func函数需要传进String[]类型运行,无返回值,静态对象,公共对象,main也是如此,String[] args只是储存的命令行参数,您甚至可以打印出所有命令行参数,代码如下:
public class Main {
public static void main(String[] args) {
// 打印所有命令行参数
for (String arg : args) {
System.out.println(arg);
}
}
}
6,总结
以上main()在定义方面解释完毕,相信读者对于Java这个语言有了更深刻的理解,如有不懂可以向作者提问,或者评论区留言让各路大神一起帮你解决,谢谢大家!