命令行参数就是main方法里面的参数String[] args他就是一个数组,args只是数据类型的一个名称,就是一个数组的变量,名称无所谓,类型没变就行了。这个就是程序的入口点。如图7.4所示:
图7.4
他是怎么运行的?为什么要传递一个字符串?比如a.txt,为什么双击他就会打开记事本?因为在双击的时候windos首先把双击文件的path路径收集起来,之后看后缀名称是.txt关联的是什么程序,是记事本程序那么就把参数传递了进来。
也就是在windos点开一个文件的时候,会把文件路径收集起来,去找一下是谁来打开这个后缀,找到那个程序之后就会把这个路径提交给记事本,这种方式就叫做接收外界参数的值。如图7.41所示:
图7.41
就比如Cf游戏只要往程序里面加上一个参数,那么就可以形成窗口的模式。参数有些程序是非要不可的,无论打开照片也好doc文档也好,他其实都是一种参数的传递,都是把路径交给一个软件,软件根据这个路径去打开它。
为什么一个类里面会有一个String,因为是来接收外界参数的。怎么运行的如图7.42所示:
图7.42
运行Test,后面跟了一个路径称之为参数,首先他找Java.exe程序,找到了然后把Test D:/a.txt交给了Java.exe 然后分析Test.calss去当前的目录,或者去classpath里找,找到了去就加载这个文件的static静态参数。加载完了就把D:/a.txt封装成String[]然后String数组调用main方法的时候把String[]传递过来。
也就是在我们的类后面写的参数,写多少个无所谓,写好之后jdk会自动形成一个字符串数组,然后传递过来。为什么会字符串数组,因为可以传递多个值。为什么放进String数组里面?因为String数组是最大的所以要申请为String可以放很多个。不同类型也没事,无非就是当作为字符串类型,今后要用的时候才自行转换就可以了。如图7.43所示:
图7.43