public static void main(String args[])

来源:百度知道 编辑:UC知道 时间:2024/05/09 14:07:53
public static void main(String args[]) {
// TODO Auto-generated method stub
System.out.println("args is:"+args);
}
程序的入口为什么参数必须是字符串数组呢,换成别的就不成,有什么意义吗?

现在一般设置系统都是放在xml配置文件里的,或者是web系统的话,也都是由容器来管理一些初始信息。所以你不必想太复杂,一般main是程序的入口,是启动程序时只执行一次的。所以这里提供的参数仅仅是进行一些基本的配置参数(比如初始启动模式,1,2,3或者启动该系统的用户a,b,c,或者是自爆模式等等...呵呵),而不会是复杂的对象。而说到参数,不同系统间要通信的话基本都是采用接口方式,而不会要给你main函数传递什么复杂的东西。因此Sting是最合适的(适合数字,日期与string等各种参数的转换)。
或者说,这个参数保留着主要是兼容以前的或者不时之需。
再简单点,就跟1楼的,这是sun定的,或者说是跟C一类语言学的。。。

在JAVA中,换成别的是不行的,呵呵,这是SUN的规定,只能照写。
在C#中,就可以有别的写法了。

java xxx.class no1 no2 no3 no4.....
后面的no1 no2 no3...就是那个String args[]里的对象,你想改成什么呢?
我想没这个必要吧

呵呵 不能一句sun规定的就了事,
之所以要用String 原因是:

最初的运行程序是在 Dos下面的命令窗口运行的。
比如Dos命令 Dir就是一个程序
在命令窗口下输入: dir /w 再回车,将会显示当前目录下的所有子目录和文件, /w参数的意义是以窗口形式显示结果。
其它还用 /p 分页显示等参数。

如果用java来写dir命令的话那么就应该是把 /w,/p 以字符串传入到main中
那么String args[]数组就有值了, args[0]=/w; args[1]=/p;

public static void main(String args[]) {
if(args[0]=="/w"){
//窗口式打印结果
}else
if(args[1]=="/p"){
//分页打印
}
}

因为从命令窗口输入的