下面对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 Main10 {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