深入理解main方法-Java
深入理解main方法-Java
- 一、语法说明
- 二、特别说明
- 三、动态传值
一、语法说明
public static void main(String[] args)
- main方法是虚拟机调用的
- java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public
- java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static
- 该方法接收String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数,案例演示,接收参数。
- java 命令执行程序的时候 参数1参数2参数3…传递进去的
public class Main_hello {
public static void main(String[] args) {
for(int i = 0; i < args.length; i++) {
System.out.println("第"+(i+1)+"个参数"+args[i]);
}
}
}
二、特别说明
main是静态方法。
- 在main()方法中,我们可以直接调用main方法所在类的静态方法或静态属性。
- 但是,不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,
public class Main01 {
//静态变量/属性
private static String name = "fuck";
//静态方法
public static void hi() {
System.out.println("I am hi ~~");
}
//非 静态变量/属性
private int n1 = 100;
//非静态方法
public void hello() {
System.out.println("I am hello ~~ ");
}
public static void main(String[] args) {
//1.静态方法main可以直接访问本类的静态成员
System.out.println("name="+name);
hi();
//2.静态方法main不不不可以直接访问本类的非静态非静态成员
//n1=29;
//hello();
//3.如果静态方法main[非要]访问本类的非静态成员,就先创建一个对象
Main01 main01 = new Main01();
main01.n1=10;
main01.hello();
}
}
三、动态传值
说明:在IDEA怎么传递参数。
本笔记是对韩顺平老师的Java课程做出的梳理。方便本人和观看者进行复习。
课程请见: https://www.bilibili.com/video/BV1fh411y7R8/?spm_id_from=333.999.0.0&vd_source=ceab44fb5c1365a19cb488ab650bab03