下面对java中的主函数进行简单的解释,解决可能困惑大家的问题,下面举的例子在实际开发中几乎不会出现,但是为了解决好奇心,大家可以这么去尝试一下!
我们在java中看到的主函数通常是这样的:
public static void main(String[] args)
public:访问权限最高。
static:静态,表示加载类的时候主函数就已经存在了。
void:表示主函数不返回任何值。
main:不是关键字,但是一个特殊单词,能被虚拟机所识别。
String[] args:表示主函数所带的参数为数组,数组名为args,数组名也可以为其他的名字,都不会造成影响。
我们也可以通过以下代码可以验证:
1 class MainDemo
2 {
3 public static void main(String[] args)
4 {
5 System.out.println(args);
6 System.out.println(args.length);
7 }
8 }
输出结果为:
[Ljava.lang.String;@659e0bfd
0
说明参数是String类型的数组,数组长度为0。
因为此时数组长度为0,也就是没有任何数组,如果尝试输出args[0],那将会提示越界。
我们可以向数组里面传数据,有两种方式传入数据:
1.运行时传入数据:
1 class MainDemo
2 {
3 public static void main(String[] args)
4 {
5 System.out.println(args[1]);
6 System.out.println(args.length);
7 }
8 }
在控制台中分别执行:
javac MainDemo.java
java MainDemo hello world java javaweb
输出的结果为:
world
4
其中 java MainDemo hello world java javaweb 中,“hello world java javaweb”是所输入的数据,用空格隔开
2.编写两个类并分别编写主函数:
1 class MainDemo
2 {
3 public static void main(String[] args)
4 {
5 String[] arr=new String[]{"hello","world","java","javaweb"};
6 Main.main(arr);
7 }
8 }
9 class Main
10 {
11 public static void main(String[] args)
12 {
13 System.out.println(args[2]);
14 System.out.println(args.length);
15 }
16 }
在控制台中分别执行:
javac MainDemo.java
java MainDemo
输出的结果为:
java
4