目录
一、main方法的注意事项
二、在IDEA中传入参数
一、main方法的注意事项
形式:public static void main(String[] args){},main方法是一个静态方法,访问修饰符是:public,形参是String数组 args
注意事项:
1.main方法是虚拟机在调用
2.java虚拟机需要调用类的main()方法,而且java虚拟机和main方法不在同一个类,所以访问权限必须是public
如上图所示,去掉public后,运行的绿色箭头消失了(改成其他的访问修饰符也不行)
3.java虚拟机在调用main()方法时不必创建对象,所以该方法必须是static
也就是说在调用TestPerson类的main方法时,是不需要创建TestPerson对象的
去掉static之后,run的选项也消失了,不能运行
4.该方法接收String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数,接收参数
public class Hello {
public static void main(String[] args) {
//args是如何传入
//遍历显示
for(int i = 0; i < args.length; i++) {
System.out.println("第" + (i + 1) +"个参数= "+ args[i]);
}
}
}
简书上的说明
(1)Java应用程序是可以通过命令行接受参数传入的,从命令行传递的参数可以在java程序中接收,并且可以用作输入。
(2)因为命令行参数最终都是以字符串的形式传递的,并且有的时候命令行参数不止一个,所以就可能传递多个参数。
(3)这时候,作为Java应用程序执行的入口,main方法就需要能够接受这多个字符串参数,那么就使用字符串数组了。
5.java 执行的程序 参数1 参数2 参数3
特别提示
1) 在 main()方法中, 我们可以直接调用 main 方法所在类的静态方法或静态属性。
2) 但是, 不能直接访问该类中的非静态成员, 必须创建该类的一个实例对象后, 才能通过这个对象去访问类中的非静态成员,还是之前讲过的静态方法只能访问静态成员,不能访问非静态成员
package com.hspedu.main_;
public class Main01 {
//静态变量/属性
private static String name = "曹操";
private int age = 28;
//静态方法
public static void m1(){
System.out.println("Main01的m1方法");
}
//非静态方法
public void m2(){
System.out.println("Main01的m2方法");
}
//main方法,静态方法
public static void main(String[] args){
//main是静态方法,可以访问本类的静态成员
System.out.println(name);
m1();
//不能直接访问非静态成员
//System.out.println(Main01.age);错误
//m2();错误
//需要创建对象才能访问
Main01 main01 = new Main01();
System.out.println(main01.age);
main01.m2();
}
}
二、在IDEA中传入参数
package com.hspedu.main_;
public class CommandPara {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("args[" + i + "] = " + args[i]);
}
}
}
在传入之前运行,是不会有什么结果的
点运行键下的Edit Configuration,添加参数
再次运行,就会显示参数