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

java程序入口_浅析java程序入口main()方法

main()方法的方法签名

public static void main(String[] args)

方法签名讲解

public修饰符:java类由java虚拟机(JVM)调用,为了没有限制可以自由的调用,所以采用public修饰符。

static修饰符:JVM调用这个主方法时肯定不是先创建这个主类的对象,再通过对象来调用方法,而是直接通过该类来调用这个方法,因此需要使用static修饰符修饰这个类。

void返回值:主方法被JVM调用,将返回值返回给JVM没有任何意义,因此该方法没有返回值,所以使用void。

扩展:

public:该修饰符表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用。

static:该修饰符表示静态的意思,简单理解被static修饰符修饰的成员都属于类本身,而不属于类的某个实例,静态成员不能能直接访问非静态成员。

void:使用void说明没有返回值。

这时会发现我没有说字符串数组形参内容,这里我们首先知道,谁调用方法,谁去传递形参,所以args形参由JVM负责赋值,JVM给args赋了什么值?

我们先看一段程序:

public class args {

public static void main(String[] args){

for (String s:args) {

System.out.println(s);

}

System.out.println("-------------------" );

System.out.println(args.length);

}

}

输出:

-------------------

0

这里输出数组长度为0,这是因为,程序没有给args设定参数值,所以JVM也就不知道args数组中的元素,然后JVM给args数组设置为一个长度为0的数组。

如果我们使用dos命令运行程序时,在类名后加上一个或者多个字符串(以空格隔开),这时JVM会依次将这些数值赋给args数组。

例如:

λ java lzjarg lzj why

lzj

why

-------------------

2

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章:

  • java 下载 docx文件_java 写个controller下载文件(word);两种方式
  • javascript java难度_javascript比java难吗?
  • java map cache_java Map实现的cache manager
  • java中的链表类_6.JAVA-链表实例
  • java 二分查找 简书_二分查找的三种模板(C++,Java,Python)
  • 用java实现矩阵链乘积_矩阵最优链乘及Java实现
  • java泛型 语法_Java泛型中的? super T语法
  • java 模块化 组件化_关于模块化、组件化的理解
  • java isnull方法_Java 检查判断变量null(空值)的方法示例代码
  • java容器类的实现_java容器类总结——基于JDK1.8
  • MySQL实验7存储过程_存储过程 · MySQL5.7文档 · 看云
  • php mysql insert 默认_PHP MySQL Insert Into
  • 称重机 java_Java实现称重3次找到假球
  • triangle java_LeetCode Triangle Java版本
  • python用户重复输入_在Python中从用户输入中查找重复值
  • CentOS7 安装JDK
  • emacs初体验
  • export和import的用法总结
  • Go 语言编译器的 //go: 详解
  • Gradle 5.0 正式版发布
  • IDEA 插件开发入门教程
  • Python语法速览与机器学习开发环境搭建
  • STAR法则
  • supervisor 永不挂掉的进程 安装以及使用
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • WebSocket使用
  • 将 Measurements 和 Units 应用到物理学
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 小程序测试方案初探
  • 鱼骨图 - 如何绘制?
  • 我们雇佣了一只大猴子...
  • (1)Nginx简介和安装教程
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (Python第六天)文件处理
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (接口自动化)Python3操作MySQL数据库
  • (九)c52学习之旅-定时器
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .htaccess配置重写url引擎
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net mvc部分视图
  • .NET 分布式技术比较
  • .NET中winform传递参数至Url并获得返回值或文件
  • ?.的用法
  • [ 转载 ] SharePoint 资料
  • [C++][基础]1_变量、常量和基本类型
  • [hdu 1711] Number Sequence [kmp]
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】
  • [JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
  • [java基础揉碎]方法的重写/覆盖
  • [LeetCode系列]子集枚举问题[无重复元素]