当前位置: 首页 > article >正文

深入理解main方法-Java

深入理解main方法-Java

  • 一、语法说明
  • 二、特别说明
  • 三、动态传值

一、语法说明

public static void main(String[] args)
  1. main方法是虚拟机调用的
  2. java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public
  3. java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static
  4. 该方法接收String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数,案例演示,接收参数。
  5. 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是静态方法。

  1. 在main()方法中,我们可以直接调用main方法所在类的静态方法或静态属性。
  2. 但是,不能直接访问该类中的静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,
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


http://www.kler.cn/a/146311.html

相关文章:

  • LabVIEW时域近场天线测试
  • mysql8.0 重要指标参数介绍
  • NumPy;NumPy在数据分析中的应用;NumPy与其他库的搭配使用
  • XML在线格式化 - 加菲工具
  • win32汇编环境,窗口程序中基础列表框的应用举例
  • 深入理解 D3.js 力导向图:原理、调参与应用
  • 【沐风老师】3DMAX快速地板屋顶墙面铺设插件使用方法详解
  • JSP过滤器和监听器
  • 使用qemu调试arm内核
  • 初始React
  • 【Linux】第二十一站:文件(一)
  • MySQL三范式
  • Django中间件
  • 网络安全面试经历
  • FreeImage 编译安装
  • 基于单片机寻迹巡线避障智能小车系统设计
  • Linux4.5、进程状态
  • 网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记)
  • URL参数提取,代码复制即用
  • C++基础 -4- C/C++混合编程
  • CloudCompare 源码编译
  • 快速掌握Pyqt5的10种容器(Containers)
  • 平衡二叉树(AVL)
  • list的总结
  • 【nlp】4.4 Transformer库的使用(管道模式pipline、自动模式auto,具体模型BertModel)
  • Redis面试题:Redis的数据过期策略有哪些?