java学习之main方法

目录

一、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

java学习之main方法_第1张图片

 也就是说在调用TestPerson类的main方法时,是不需要创建TestPerson对象的

java学习之main方法_第2张图片

去掉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]);
		}
	}
}

java学习之main方法_第3张图片

简书上的说明

(1)Java应用程序是可以通过命令行接受参数传入的,从命令行传递的参数可以在java程序中接收,并且可以用作输入。

(2)因为命令行参数最终都是以字符串的形式传递的,并且有的时候命令行参数不止一个,所以就可能传递多个参数。

(3)这时候,作为Java应用程序执行的入口,main方法就需要能够接受这多个字符串参数,那么就使用字符串数组了。

5.java 执行的程序 参数1 参数2 参数3

java学习之main方法_第4张图片

特别提示

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]);
        }
    }
}

 在传入之前运行,是不会有什么结果的

java学习之main方法_第5张图片

点运行键下的Edit Configuration,添加参数

java学习之main方法_第6张图片

再次运行,就会显示参数

java学习之main方法_第7张图片

 

你可能感兴趣的:(java,java,学习,jvm)