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