java中public static void main(String args[])具体是什么意思

 我来答
xiongfeng_2010
2010-12-03 · TA获得超过221个赞
知道答主
回答量:92
采纳率:0%
帮助的人:20.4万
展开全部
JAVA中的主函数是我们再熟悉不过的了,相信每个学习过JAVA语言的人都能够熟练地写出这个程序的入口函数,但对于主函数为什么这么写,其中的每个关键字分别是什么意思,可能就不是所有人都能轻松地答出来的了。我也是在学习中碰到了这个问题,通过在网上搜索资料,并加上自己的实践终于有了一点心得,不敢保留,写出来与大家分享。

主函数的一般写法如下:

public static void main(String[] args){…}

下面分别解释这些关键字的作用:

(1)public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数。

(2)static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。

(3)void关键字表明main()的返回值是无类型。

**(4)参数String[] args,这是本文的重点。

第一、程序使用者可以在命令行状态下向某个类传递参数。看下面的例子:

public class ArgsDemo {

public static void main(String[] args) {

String str = new String();

for (int i = 0; i < args.length; i++) {

System.out.println(args[i]);

str += args[i];

}

System.out.println(str);

}

}

使用javac ArgsDemo.java命令生成ArgsDemo.class文件;然后使用“java ArgsDemo 参数一 参数二 参数三 …”的格式向ArgsDemo类传递参数。该示例程序将首先输出参数,然后输出所有参数的和。比如java ArgsDemo a b c,将得到这样的输出:

a

b

c

abc

需要注意的是,如果这里的循环条件不是i
Exception in thread “main” java.lang.ArrayIndexOutOfBoundException:3

at ArgsDemo.main(ArgsDemo.java:5)

第二、可以在另一个类中向包含main()的类传递参数,如下例:

public class A {

public static void main(String[] args)

{

for(int i=0;i
System.out.println(args[i]);

}

}

public class B {

public static void main(String[] args)

{

c = new A();

String[] b = {"111","222","333"};

c.main(b);

}

}

首先定义一个class A,在A中定义一个main()函数,在该函数中输出参数args。然后定义一个classB,在B中初始化一个A的实例c,然后向c传递参数,并且调用c的main方法打印出传入的参数值。输出结果如下:

111

222

333

由于main()函数是静态函数,即不需要实例化也能使用,所以B使用下面的写法也能完成相同的功能:

public class B {

public static void main(String[] args)

{

//A c = new A();

String[] b = {"111","222","333"};

A.main(b);

}

}

总结:参数args的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段。此外在其他类中直接使用main()函数,并传递参数也是可行的,虽然这种方法不太常用,但毕竟为我们提供了一种选择。
zsx10110
推荐于2018-02-26 · TA获得超过8872个赞
知道大有可为答主
回答量:2369
采纳率:66%
帮助的人:3097万
展开全部
public static void main(String args[])
这个是一个方法。。比较特殊的方法。。所有java程序的运行起点就是这个方法。。即从这个方法开始运行。。这句话除了args这个名字可以不一样外。。其他必须是这样。。

public 就是公共的意思。。谁都可以访问。。即谁都可以用的意思。。

static 静态的。。表示不需要对象就可以访问的意思。。

void 没有返回值。。
main方法名字。。这个名字必须是main。。

String args[] 这个方法接受的参数。。一个String数组
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vaccywen
推荐于2018-11-23 · TA获得超过275个赞
知道小有建树答主
回答量:176
采纳率:100%
帮助的人:86.5万
展开全部
是java se 运行时的主方法,是固定写法
public:代表是公共方法
static:代表静态的
void:无返值类型
main:方法名
String args[]:控制台输出的字符串数据
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式