深入理解main方法

解释main方法的形式:public static void main(String [] args){}

  1. main方法是由java虚拟机调用的。
  2. java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public。
  3. Java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static。
  4. 该方法接受String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数,案例演示,接收参数(如下图)。
  5. java执行的程序 参数1 参数2 参数3 

Java基础——main方法_main方法

 特别说明

  • 在main方法中,我们可以直接调用main方法所在类的静态属性或静态方法。
  • 但是,不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员。【举例说明】Demo03.java
  • 代码
public class Demo03 {
    //静态的变量
    private static String name="静态变量";
    //非静态的变量
    private String name2="非静态变量";
    //静态方法
    public static void hi(){
        System.out.println("静态方法");
    }
    //非静态方法
    public void cry(){
        System.out.println("非静态方法");
    }
    public static void main(String[] args) {
        //1.可以直接使用name,静态方法可以访问本类的静态成员。
        System.out.println(name);
        hi();
        //2.不能使用,静态方法main不可以访问本类的非静态成员。
        //System.out.println(name2);
        //cry();
        //3.静态方法main 要访问本类的非静态成员,需要先创建对象,再调用即可。
        Demo03 main01 = new Demo03();
        System.out.println(main01.name2);
        main01.cry();
    }
}

在idea中如何传递参数,看下图

Java基础——main方法_静态成员_02

结果如下:

Java基础——main方法_静态成员_03