java菜鸟的一个疑问 关于public static void main(String args[]) 初学java里public static void main...

java\u4e2dpublic static void main(String args[])\u5177\u4f53\u662f\u4ec0\u4e48\u610f\u601d

JAVA\u4e2d\u7684\u4e3b\u51fd\u6570\u662f\u6211\u4eec\u518d\u719f\u6089\u4e0d\u8fc7\u7684\u4e86\uff0c\u76f8\u4fe1\u6bcf\u4e2a\u5b66\u4e60\u8fc7JAVA\u8bed\u8a00\u7684\u4eba\u90fd\u80fd\u591f\u719f\u7ec3\u5730\u5199\u51fa\u8fd9\u4e2a\u7a0b\u5e8f\u7684\u5165\u53e3\u51fd\u6570\uff0c\u4f46\u5bf9\u4e8e\u4e3b\u51fd\u6570\u4e3a\u4ec0\u4e48\u8fd9\u4e48\u5199\uff0c\u5176\u4e2d\u7684\u6bcf\u4e2a\u5173\u952e\u5b57\u5206\u522b\u662f\u4ec0\u4e48\u610f\u601d\uff0c\u53ef\u80fd\u5c31\u4e0d\u662f\u6240\u6709\u4eba\u90fd\u80fd\u8f7b\u677e\u5730\u7b54\u51fa\u6765\u7684\u4e86\u3002\u6211\u4e5f\u662f\u5728\u5b66\u4e60\u4e2d\u78b0\u5230\u4e86\u8fd9\u4e2a\u95ee\u9898\uff0c\u901a\u8fc7\u5728\u7f51\u4e0a\u641c\u7d22\u8d44\u6599\uff0c\u5e76\u52a0\u4e0a\u81ea\u5df1\u7684\u5b9e\u8df5\u7ec8\u4e8e\u6709\u4e86\u4e00\u70b9\u5fc3\u5f97\uff0c\u4e0d\u6562\u4fdd\u7559\uff0c\u5199\u51fa\u6765\u4e0e\u5927\u5bb6\u5206\u4eab\u3002

\u4e3b\u51fd\u6570\u7684\u4e00\u822c\u5199\u6cd5\u5982\u4e0b\uff1a

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

\u4e0b\u9762\u5206\u522b\u89e3\u91ca\u8fd9\u4e9b\u5173\u952e\u5b57\u7684\u4f5c\u7528\uff1a

\uff081\uff09public\u5173\u952e\u5b57\uff0c\u8fd9\u4e2a\u597d\u7406\u89e3\uff0c\u58f0\u660e\u4e3b\u51fd\u6570\u4e3apublic\u5c31\u662f\u544a\u8bc9\u5176\u4ed6\u7684\u7c7b\u53ef\u4ee5\u8bbf\u95ee\u8fd9\u4e2a\u51fd\u6570\u3002

\uff082\uff09static\u5173\u952e\u5b57\uff0c\u544a\u77e5\u7f16\u8bd1\u5668main\u51fd\u6570\u662f\u4e00\u4e2a\u9759\u6001\u51fd\u6570\u3002\u4e5f\u5c31\u662f\u8bf4main\u51fd\u6570\u4e2d\u7684\u4ee3\u7801\u662f\u5b58\u50a8\u5728\u9759\u6001\u5b58\u50a8\u533a\u7684\uff0c\u5373\u5f53\u5b9a\u4e49\u4e86\u7c7b\u4ee5\u540e\u8fd9\u6bb5\u4ee3\u7801\u5c31\u5df2\u7ecf\u5b58\u5728\u4e86\u3002\u5982\u679cmain()\u65b9\u6cd5\u6ca1\u6709\u4f7f\u7528static\u4fee\u9970\u7b26\uff0c\u90a3\u4e48\u7f16\u8bd1\u4e0d\u4f1a\u51fa\u9519\uff0c\u4f46\u662f\u5982\u679c\u4f60\u8bd5\u56fe\u6267\u884c\u8be5\u7a0b\u5e8f\u5c06\u4f1a\u62a5\u9519\uff0c\u63d0\u793amain()\u65b9\u6cd5\u4e0d\u5b58\u5728\u3002\u56e0\u4e3a\u5305\u542bmain()\u7684\u7c7b\u5e76\u6ca1\u6709\u5b9e\u4f8b\u5316\uff08\u5373\u6ca1\u6709\u8fd9\u4e2a\u7c7b\u7684\u5bf9\u8c61\uff09\uff0c\u6240\u4ee5\u5176main()\u65b9\u6cd5\u4e5f\u4e0d\u4f1a\u5b58\u3002\u800c\u4f7f\u7528static\u4fee\u9970\u7b26\u5219\u8868\u793a\u8be5\u65b9\u6cd5\u662f\u9759\u6001\u7684\uff0c\u4e0d\u9700\u8981\u5b9e\u4f8b\u5316\u5373\u53ef\u4f7f\u7528\u3002

\uff083\uff09void\u5173\u952e\u5b57\u8868\u660emain()\u7684\u8fd4\u56de\u503c\u662f\u65e0\u7c7b\u578b\u3002

**\uff084\uff09\u53c2\u6570String[] args\uff0c\u8fd9\u662f\u672c\u6587\u7684\u91cd\u70b9\u3002

\u7b2c\u4e00\u3001\u7a0b\u5e8f\u4f7f\u7528\u8005\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u72b6\u6001\u4e0b\u5411\u67d0\u4e2a\u7c7b\u4f20\u9012\u53c2\u6570\u3002\u770b\u4e0b\u9762\u7684\u4f8b\u5b50\uff1a

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);

}

}

\u4f7f\u7528javac ArgsDemo.java\u547d\u4ee4\u751f\u6210ArgsDemo.class\u6587\u4ef6\uff1b\u7136\u540e\u4f7f\u7528\u201cjava ArgsDemo \u53c2\u6570\u4e00 \u53c2\u6570\u4e8c \u53c2\u6570\u4e09 \u2026\u201d\u7684\u683c\u5f0f\u5411ArgsDemo\u7c7b\u4f20\u9012\u53c2\u6570\u3002\u8be5\u793a\u4f8b\u7a0b\u5e8f\u5c06\u9996\u5148\u8f93\u51fa\u53c2\u6570\uff0c\u7136\u540e\u8f93\u51fa\u6240\u6709\u53c2\u6570\u7684\u548c\u3002\u6bd4\u5982java ArgsDemo a b c,\u5c06\u5f97\u5230\u8fd9\u6837\u7684\u8f93\u51fa\uff1a

a

b

c

abc

\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5982\u679c\u8fd9\u91cc\u7684\u5faa\u73af\u6761\u4ef6\u4e0d\u662fi
Exception in thread \u201cmain\u201d java.lang.ArrayIndexOutOfBoundException:3

at ArgsDemo.main(ArgsDemo.java:5)

\u7b2c\u4e8c\u3001\u53ef\u4ee5\u5728\u53e6\u4e00\u4e2a\u7c7b\u4e2d\u5411\u5305\u542bmain()\u7684\u7c7b\u4f20\u9012\u53c2\u6570\uff0c\u5982\u4e0b\u4f8b\uff1a

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);

}

}

\u9996\u5148\u5b9a\u4e49\u4e00\u4e2aclass A\uff0c\u5728A\u4e2d\u5b9a\u4e49\u4e00\u4e2amain()\u51fd\u6570\uff0c\u5728\u8be5\u51fd\u6570\u4e2d\u8f93\u51fa\u53c2\u6570args\u3002\u7136\u540e\u5b9a\u4e49\u4e00\u4e2aclassB\uff0c\u5728B\u4e2d\u521d\u59cb\u5316\u4e00\u4e2aA\u7684\u5b9e\u4f8bc\uff0c\u7136\u540e\u5411c\u4f20\u9012\u53c2\u6570\uff0c\u5e76\u4e14\u8c03\u7528c\u7684main\u65b9\u6cd5\u6253\u5370\u51fa\u4f20\u5165\u7684\u53c2\u6570\u503c\u3002\u8f93\u51fa\u7ed3\u679c\u5982\u4e0b\uff1a

111

222

333

\u7531\u4e8emain()\u51fd\u6570\u662f\u9759\u6001\u51fd\u6570\uff0c\u5373\u4e0d\u9700\u8981\u5b9e\u4f8b\u5316\u4e5f\u80fd\u4f7f\u7528\uff0c\u6240\u4ee5B\u4f7f\u7528\u4e0b\u9762\u7684\u5199\u6cd5\u4e5f\u80fd\u5b8c\u6210\u76f8\u540c\u7684\u529f\u80fd\uff1a

public class B {

public static void main(String[] args)

{

//A c = new A();

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

A.main(b);

}

}

\u603b\u7ed3\uff1a\u53c2\u6570args\u7684\u4e3b\u8981\u4f5c\u7528\u662f\u4e3a\u7a0b\u5e8f\u4f7f\u7528\u8005\u5728\u547d\u4ee4\u884c\u72b6\u6001\u4e0b\u4e0e\u7a0b\u5e8f\u4ea4\u4e92\u63d0\u4f9b\u4e86\u4e00\u79cd\u624b\u6bb5\u3002\u6b64\u5916\u5728\u5176\u4ed6\u7c7b\u4e2d\u76f4\u63a5\u4f7f\u7528main()\u51fd\u6570\uff0c\u5e76\u4f20\u9012\u53c2\u6570\u4e5f\u662f\u53ef\u884c\u7684\uff0c\u867d\u7136\u8fd9\u79cd\u65b9\u6cd5\u4e0d\u592a\u5e38\u7528\uff0c\u4f46\u6bd5\u7adf\u4e3a\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u79cd\u9009\u62e9\u3002

\u8fd9\u53e5\u8bdd\u662f\u56fa\u5b9a\u7684\u5199\u6cd5 java\u91cc\u7684main\u65b9\u6cd5\uff0cpublic \u516c\u6709\u65b9\u6cd5\uff0cstatic\uff0c\u9759\u6001\u7684\uff0c String[
] args \u5b57\u7b26\u4e32\u6570\u7ec4

public class Demo{}这是一个主类,而且在java中这样的类只能定义一个,其他的类前不能加public。但是如果是它的内部类则可以。
如:public class Demo{ //定义一个主类
public class Demo3{} //定义一个内部类
}
class Demo1{} //定义一个类
class Demo2{} //再定义一个类
然后在主类只可以有一个主方法,也就是main方法,就是你上面的那句public static void mian(Stirng []args),但是在主类中可以有多个方法,就像你上面定义的许多方法,都不是主方法,主方法的位置和普通方法的位置无所谓再哪里,因为程序在执行时都先执行主方法,所以就算把主方法写到最后,也是从主方法开始执行。

没有关系的,main就是程序的入口也就是说 程序都是由他这里开始的!
举个例子,动物园有一个门口,但是想放的位置不一样,东西南北 随意最终我们还是可以进入到里面的!main就是程序的入口,和放的位置没关系!
ps:
一个程序中只能有一个 main 方法哦!
希望我的解释你能明白!!

举个例子:有一个大房间,有很多窗户,但只有一个门,你要想将窗户打开,只能先进去,从哪儿进呢,当然是从门口进。不管在你找到门之前经过多少个窗户,你都进不去,也打不开窗户,直到门口你才能进去,把窗户打开。一般的方法就是窗户,那扇门就是main方法。

这个主函数public static void main(String[]args)放在哪个位置没什么区别,这个是关于面向对象里面的东西,等你学到java面向对象后就会了解这些问题了。

java 对方法的位置没有严格的限制。你只要写在这个类的类体内即可。编译器会动态的去识别你的成员和方法的定义。包括成员变量也可以任意放。只不过这样不符合代码规范

扩展阅读:javascript substring ... javascript onclick ... javascript undefined ... javascript&jquery ... javascript ajax ... 菜鸟编程官网html ... javascript void ... 菜鸟裹裹 ... js菜鸟教程 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网