资讯专栏INFORMATION COLUMN

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

YFan / 1271人阅读

摘要:程序入口方法浅析方法的方法签名方法签名讲解修饰符类由虚拟机调用,为了没有限制可以自由的调用,所以采用修饰符。返回值主方法被调用,将返回值返回给没有任何意义,因此该方法没有返回值,所以使用。

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75527.html

相关文章

  • java学习(四) —— 内存分配浅析

    摘要:内存分配解析四方法执行完毕,立即释放局部变量所占用的栈空间。内存分配解析五调用对象的方法,以实例为参数。堆和栈的小结以上就是程序运行时内存分配的大致情况。 前言 java中有很多类型的变量、静态变量、全局变量及对象等,这些变量在java运行的时候到底是如何分配内存的呢?接下来有必要对此进行一些探究。 基本知识概念: (1)寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序...

    henry14 评论0 收藏0
  • webpack4.x 模块化浅析-CommonJS

    摘要:先看下官方文档中对模块的描述在模块化编程中,开发者将程序分解成离散功能块,并称之为模块。每个模块具有比完整程序更小的接触面,使得校验调试测试轻而易举。 先看下webpack官方文档中对模块的描述: 在模块化编程中,开发者将程序分解成离散功能块(discrete chunks of functionality),并称之为模块。每个模块具有比完整程序更小的接触面,使得校验、调试、测试轻而易...

    alphahans 评论0 收藏0
  • jar命令浅析

    摘要:命令浅析文件的全称是,意思是档案文件,通常文件是一种压缩文件,并且与常见的文件兼容,两者的区别便是拥有清单文件,这个文件是生成文件时自动创建的。首先输入命令,系统会自动提示命令的用法。 jar命令浅析  JAR文件的全称是Java Archive File,意思是java档案文件,通常JAR文件是一种压缩文件,并且与常见的Zip文件兼容,两者的区别便是JAR拥有清单文件 (META-I...

    wmui 评论0 收藏0
  • 浅析Java泛型

    摘要:泛型类在类的申明时指定参数,即构成了泛型类。换句话说,泛型类可以看成普通类的工厂。的作用就是指明泛型的具体类型,而类型的变量,可以用来创建泛型类的对象。只有声明了的方法才是泛型方法,泛型类中的使用了泛型的成员方法并不是泛型方法。 什么是泛型? 泛型是JDK 1.5的一项新特性,它的本质是参数化类型(Parameterized Type)的应用,也就是说所操作的数据类型被指定为一个参数,...

    godiscoder 评论0 收藏0
  • pyspark底层浅析

    摘要:底层浅析简介是官方提供的接口,同时也是中的一个程序。这里一提,对于大部分机器学习算法,你都会看到模块与模块都提供了接口,它们的区别在于模块接受格式的数据而模块接受格式的数据。 pyspark底层浅析 pyspark简介 pyspark是Spark官方提供的API接口,同时pyspark也是Spark中的一个程序。 在terminal中输入pyspark指令,可以打开python的she...

    FrozenMap 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<