1. 深入理解 main 方法
- 解释main方法的形式:
public static void main(String[] args){}
- main方法是虚拟机调用的
- java虚拟机需要调用类的
main()
方法,所以该方法的访问权限必须是public
- java虚拟机在执行
main()
方法时不必创建对象,所以该方法必须是static
- 该方法接收
String
类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数。 - java 执行的程序
参数1 参数2 参数3
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) 在 main()
方法中,可以直接调用 main
方法所在类的静态方法或静态属性
。
2) 但是,不能直接访问该类中的非静态成员
,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员。
public class Main01 {
//静态变量
private static String name = "兮动人";
//非静态的变量
private int n1 = 1000;
//静态方法
public static void hi(){
System.out.println("Main01 的 hi方法");
}
//非静态方法
public void cry(){
System.out.println("Main01 的 cry方法");
}
public static void main(String[] args) {
//可以直接使用 name
//1.静态方法main 可以访问本类的静态成员
System.out.println("name=" + name);
hi();
//2.静态方法main 不可以访问本类的非静态成员
//System.out.println("n1=" + n1);
//cry();
//3.静态方法 main 要访问本类的非静态成员,需要先创建对象,再调用即可
Main01 main01 = new Main01();
System.out.println(main01.n1);
main01.cry();
}
}
2. 在 Idea 下如何传递参数
- 案例 Main02.java
public class Main02 {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("第" + (i + 1) + "个参数=" + args[i]);
}
}
}