今天编码过程中偶发奇想,更改了main(String []args)的入参类型,结果发现编译运行时IDE提示Launch Error:Eidtor does not contain a main type。于是检索资料对main()方法进行了进一步的理解,总结如下:
main()方法的格式:
package com.npu.routine.main.method.learn;
/**
* @author guomz
* @date 2018年7月10日 上午11:36:38
* @version 理解main方法
*/
public class ArgsDemo {
/**
* public:代表该函数的访问权限,公有权限
* static:静态方法,程序在执行main方法时候没有创建任何对象,通过类名即可进行访问;
* (若为非静态方法则需要实例化对象来进行调用。)
* void:主函数没有返回值
* main:是一个可以被JVM识别调用的入口函数
* (String[] args):函数的参数,参数类型是一个字符串类型的数组
*
* 主函数中,形参args的命名可以任意修改(但默认为args),其他的关键词、函数名、参数类型均不能改变
*/
//在代码中我改变了main方法的形参的命名
public static void main(String []argsabc){
String str = new String();
for(int i = 0; i < argsabc.length; i++){
System.out.println(argsabc[i]);
str += argsabc[i];
}
System.out.println(str);
}
}
既然main方法有入参,那么就可以传入参数,写了另一个驱动程序简单的执行调用,向main方法中传入了入参;
既然main方法有入参,那么就可以传入参数,写了另一个驱动程序简单的执行调用,向main方法中传入了入参;
package com.npu.routine.main.method.learn;
/**
* @author guomz
* @date 2018年7月10日 上午11:42:34
* @version ArgsDemo.main的调用类
*/
public class Run {
public static void main(String[] args) {
String[] argsabc = {"abc","ddd"};
ArgsDemo.main(argsabc);
}
}
在IDE中能够正常执行,输出如下:
abc
ddd
abcddd
而若改变除形参命名外的关键字,则会提示程序找不到入口;
由此对于习以为常的main方法的执行过程又有了进一步的理解。