public static void函数 main里可以有函数吗

为什么 main 方法是 public static void?_Linux编程_Linux公社-Linux系统门户网站
你好,游客
为什么 main 方法是 public static void?
来源:Linux社区&
作者:Linux
0、引言:1、为什么main方法是静态的(static)2、为什么main方法是公有的(public)3、为什么main方法没有返回值(void)4、总结5、Refer:
之前在校招时,旁边的面试官问过这样一个问题:如何不在 main 函数里打印出一行字符串呢(也不允许在main里调用函数)?
如果你不能回答上来没关系,看了本文你就会有了答案。其实 main 函数我们每天 coding 都会接触,但是不一定每个同学都了解或注意到它为什么要这么设计,为什么不能那么写?
言归正传,Main方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么 main 方法是 public、static、void 的?当然,很多人首先学的是C和C++,但是在Java中main方法与前者有些细微的不同,它不会返回任何值,为什么main方式是public、static、void,这篇文章尝试去找到一些答案。
Main方法是Java程序的入口,记住,我们这里不会讨论Servlet、MIDlet和其他任何容器管理的java程序,在java核心编程中,JVM会查找类中的public static void main(String[] args),如果找不到该方法就抛出错误NoSuchMethodError:main 程序终止。
Main方法必须严格遵循它的语法规则,方法签名必须是public static void,参数是字符串数组类型,如果是Java1.5及以后的版本还可以使用可变参数:
public static void main(String... args)
1、为什么main方法是静态的(static)
(1)正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。
(2)因为C和C++同样有类似的main方法作为程序执行的入口。
(3)如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法。
(4)静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。
2、为什么main方法是公有的(public)
Java指定了一些可访问的修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外的地方访问。因为main方法是公共的,JVM就可以轻松的访问执行它。
3、为什么main方法没有返回值(void)
因为main返回任何值对程序都没任何意义,所以设计成void,意味着main不会有任何值返回
(1)main方法必须声明为public、static、void,否则JVM没法运行程序
(2)如果JVM找不到main方法就抛出NoSuchMethodError:main异常,例如:如果你运行命令:java HelloWrold,JVM就会在HelloWorld.class文件中搜索public static void main (String[] args) 方法。
(3)main方式是程序的入口,程序执行的开始处。
(4)main方法被一个特定的线程&main&运行,程序会一直运行直到main线程结束或者non-daemon线程终止。
(5)当你看到&Exception in Thread main&如:Excpetion in Thread main:Java.lang.NullPointedException ,意味着异常来自于main线程
(6)你可以声明main方法使用java1.5的可变参数的方式如:
public static void main(String... args)
(7)除了static、void、和public,你可以使用final,synchronized、和strictfp修饰符在main方法的签名中,如:
public strictfp final synchronized static void main(String[] args)
(8)main方法在Java可以像其他方法一样被重载,但是JVM只会调用上面这种签名规范的main方法。
(9)你可以使用throws子句在方法签名中,可以抛出任何checked和unchecked异常
(10)静态初始化块在JVM调用main方法前被执行,它们在类被JVM加载到内存的时候就被执行了。
编写高质量代码 改善Java程序的151个建议 PDF高清完整版
Java 8简明教程
Java对象初始化顺序的简单验证
Java对象值传递和对象传递的总结
Java对象序列化ObjectOutputStream和ObjectInputStream示例
本文永久更新链接地址:
相关资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款public static void main(String[] args)是Java程序的入口方法,JVM在运行程序时,会首先查找main()方法。其中,public是权限修饰符,表明任何类或者对象都可以访问这个方法,static表明main()方法是一个静态方法,即方法中的代码是存储在静态存储区的,只要类被加载后就可以使用该方法,不需要通过实例化对象来访问,可以直接通过类名.main()直接访问。JVM在启动时就是按照上述方法的签名(必须有public与static修饰,返回值为void,且方法的参数为字符串数组)来查找方法的入口地址,若能找到就执行,找不到就会报错。void表明方法没有返回值,main是JVM识别的特殊方法名,是程序的入口方法。字符串数组参数args为开发人员提供了在命令行状态下与程序交互的一种手段。
因为main是程序的入口方法,所以当程序运行时,第一个执行的方法就是main()方法。通常来讲,要执行一个类的方法先必须实例化一个类的对象,然后通过对象来调用这个方法。但由于main()是程序的入口方法,此时还没有实例化对象,因此在编写main()方法时就要求不需要实例化对象就可以调用这个方法,鉴于此,main()方法需要被定义成public与static。
对于main(String[] args)方法参数的传递,在控制台下,使用javac 类名.java编译程序,使用java 类名 arg1 arg2 arg3执行程序,则参数arg1、arg2、arg3即被存储到main()方法中的字符串数组参数args[]中了,然后在main()方法中即可使用这些参数。
main()方法的定义有如下形式也是合理的:
static public void main(String[] args),public与static没有先后顺序的约束。
public static final void main(String[] args),main方法为final。
static public synchronized void main(String[] args),线程同步的锁机制。
同一个.java文件中可以有多个main()方法,每一个类中都可以定义main()方法,但只有与文件名相同的用public修饰的类中的main()方法才能作为整个程序的入口方法。
本文已收录于以下专栏:
相关文章推荐
首先问一个问题:
publicstatic void main(String[] args)代码代表了什么含义?以及思考为什么java程序一开始就会进入main()函数,其实c、c++也是如此?后面一...
public staticvoid main(String[] args)为Java程序的入口方法,JVM在运行程序的时候,会首先查找main方法
public static void main(String[] args)
这绝对不是凭空想出来的,也不是没有道理的死规定,而是java程序执行的需要。
jvm在试图运行一个类之前,先检查该...
这个问题困扰我好久了,今天就一查究竟,毕竟我好奇心比较重1. why “public”   因为java程序是通过jvm虚拟机调用的,所以main()函数要是想被调用,必须是public2.why “...
我们都知道当你要运行一个JAVA文件的时候必须要有一个main函数。这是为什么呢?
跟C语言的道理一样,当你运行一个文件的时候,你必须要有一个入口函数或者入口地址,在C里面是main函数,同样的在J...
1.   这是第一个hello程序和说明
// 默认引入package java.lang
// 文件名和类名必须相同,在一个文件里最多有一个public类
public class Hello...
是Java程序的入口方法,JVM在运行程序时,会首先查找main()方法。
  public是权限修饰符,表明任何类或对象都可以访问这个方法;
  static表明main()方法是一个静态方法,即方...
public class TestSort {
public static void main(String[] args) {
// 需要分别用Javac和Java命令行编译和运行
主函数的一般写法如下:
  public static void main(String[] args){…}
  下面分别解释这些关键字的作用:
  (1)public关键字,这个好理解,声明...
主函数的一般写法如下:
  public static void main(String[] args){…}
  下面分别解释这些关键字的作用:
  (1)public关键字,这个...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)实例分析Java中public static void main(String args[])是什么意思
作者:NW_KNIFE
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了实例分析Java中public static void main(String args[])的意义,详细分析了Java主函数main关键字声明的具体含义和用法,需要的朋友可以参考下
本文实例讲述了Java中public static void main(String args[])的来龙去脉。分享给大家供大家参考,具体如下:
public static void main(String[] args)
这绝对不是凭空想出来的,也不是没有道理的死规定,而是java程序执行的需要。
jvm在试图运行一个类之前,先检查该类是否包含一个特殊方法。这个方法必须是公有的,以便在任何位置都能访问得到。这个方法必须是static的,因为这个方法不能依赖任何该类的实例即可运行,而非static的方法,在运行之前要先创建该类的实例对象。
这个方法没有返回值。和C/C++程序不一样,java的程序默认都以常态结束,所以main不返回int。如果要以非常态结束程序,可以用System.exit(1)。
这个方法必须可以接受数目不定的String类型的参数,因为运行者可能要附加运行参数。如java HelloWorld jack 100,这里的jack和100就是运行参数。
为什么是String呢?因为String具有普遍性。任何字面形式都可以解释成String,而其他类型则不然(如jack就不能解释成整数或浮点数),所以用String来存储参数最合适。而因为参数数目不限一个,所以用了数组,即String[]。在Java 1.5以后,还可以写成String...,表示数目不定。
至于参数的变量名可以任意,只要保证在方法内部按该变量名来获得参数就行了,从变量的作用角度来说,叫arguments或args当然是最合适的。
至于这个方法的名字为什么一定是main,有历史原因,因为最早的C以main函数作为程序入口,java沿用了这个历史传统。
下面我们以一个例子一探究竟:
public class MainTest {
public static void main(String[] args)
for (int x=0; x&args. x++)
System.out.println(args[x]);
public static void sysInfo(){
System.out.println("call sysInfo()");
public class MainDemo {
public static void main(String[] args)
public:权限修饰符,权限最大。
static:随着MianDemo类的加载而加载,消失而消失。
void: 没有返回值
main: 函数名,jvm识别的特殊函数名
(String[] args):定义了一个字符串数组参数
public static void main(String... args)
String[] arr = new String[]{"zhang","li","wang","zhao"};
MainTest.main(arr);
MainTest.sysInfo();
1、main()函数是被jvm调用,jvm给main()传了一个长度为0的字符串的数组,也就是new String[0]
2、可以通过类名.main()进行传值操作,因为main()方法是static的。
运行结果:
希望本文所述对大家Java程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具错误: 在类 testException 中找不到主方法, 请将主方法定义为: public static void main(String[] args
public&class&testException&{
public&static&void&main(String&args[]){
int&x=Integer.parseInt(args[0
10:32&&&[]
刚看了马士兵的hibernate视频,按他得步骤一步步来可还是出错了,错误显示是:
错误:&在类&StudentTest&中找不到主方法,&请将主方法定义为:
&&&public&static
-20:12&&&[]
错误: 在类 com.zs.container.CollectionData 中找不到主方法, 请将主方法定义为:
& &public static void main(String[] args)
package com.zs. import
14:50&&&[]
import&java.sql.*;
public&class&test{
&public&static&void&main(String&[]&args
22:16&&&[]
自己定义了一个类myToolBar&在public&static&void&main(String[]&args)中&使用:myToolBar&tb=new&myToolBar(viewForm,SWT.NONE);&却报错:
&&&&&没有任何类型&Hello1&的外层实例可访问。必须用类型&Hello1&的外层实例(例
&&&&&如,x.new&A(),其中&x&是&Hello1&的实例)来限定分配。
可是&其他的类如&Label等却可以直接用如:Label&myLabel=new&Label(shell,SWT.NONE);
话说&main的要求是static&可是我使用了实例&Hello1&e=new&Hello();&后&e.的方法中却没有new&myToolBar&之类的定义&这是为什么?
我又试着把类myToolBar变成&static&class&myToolBar&这个类好使了&可是它之中的使用的其他类却又报错&总不能把所有类都static吧
我又添加public&Hello1(){myToolBar&tb=new&myToolBar(viewForm,SWT.NONE)这样的构造函数&然后又在main中写一个Hello1&e=new&Hello1();系统一下子报了许多错&这是为什么?
如果我就是要在static的main中定义一个我的不是static的类最好的方法是什么呢?谢谢!
public&class&Hello1&{
&*&Launch&the&application
&*&@param&args
public&static&void&main(String[]&args)&{
final&Display&display&=&Display.getDefault();
final&Shell&shell&=&new&Shell();
shell.setSize(500,&375);
shell.setText(&SWT&Application&);
GridLayout&gridLayout=new&GridLayout();
gridLayout.numColumns=2;
shell.setLayout(gridLayout);
ViewForm&viewForm=new&ViewForm(shell,SWT.NONE);
GridData&gridData=new&GridData(GridData.HORIZONTAL_ALIGN_FILL);
gridData.horizontalSpan=1;
viewForm.setLayoutData(gridData);
&&&&&&&&myToolBar&tb=new&myToolBar(viewForm,SWT.NONE); //报错
shell.open();
shell.layout();
while&(!shell.isDisposed())&{
if&(!display.readAndDispatch())
display.sleep();
class&myToolBar&extends&ToolBar{
private&myToolItem1&toolItem1;
private&myToolItem2&toolItem2;
public&int&GraphS
public&myToolBar(ViewForm&viewForm,int&style){
super(&viewForm,&style);
myToolItem1&ti=new&myToolItem1(this,SWT.NONE);
myToolItem2&ti2=new&myToolItem2(this,SWT.NONE);
toolItem1=
toolItem2=ti2;
setToolItem();
public&void&setToolItem(){
toolItem1.setText(&画圆&);
GraphStyle=toolItem1.getmyToolItem_data();
toolItem2.setText(&画直线&);
GraphStyle=toolItem2.getmyToolItem_data();
public&int&getGraphStyle(){
return&GraphS
class&myToolItem&extends&ToolItem&implements&SelectionListener{&&&
protected&int&myToolItem_
public&myToolItem(myToolBar&parent,int&style){
super(parent,style);
public&void&setmyToolItem_data(int&x){
myToolItem_data=x;
public&int&getmyToolItem_data(){
return&myToolItem_
public&void&widgetSelected(SelectionEvent&e){
public&void&widgetDefaultSelected(SelectionEvent&e){
class&myToolItem1&extends&myToolItem{
public&&myToolItem1&(myToolBar&parent,int&style){
super(parent,style);
public&void&widgetSelected(SelectionEvent&e){
setmyToolItem_data(1);
class&myToolItem2&extends&myToolItem{
public&myToolItem2(myToolBar&parent&,int&style){
super(parent,style);
public&void&widgetSelected(SelectionEvent&e){
setmyToolItem_data(2);
回复讨论(解决方案)
你这里在使用的是内部类,必须先创建外部类的对象才能使用。
把类定义拿到上层的class定义外面即可。
楼上的说的很对,swt&很不错的
public&class&Hello1&{& /** &*&Launch&the&application &*& &*&@param&args &*/& public&static&void&main(String[]&args)&{& final&Display&display&=&Display.getDefault();& final&Shell&shell&=&new&Shell();& shell.setSize(500,&375);& shell.setText(&SWT&Application&);& GridLayout&gridLayout=new&GridLayout();& gridLayout.numColumns=2;& shell.setLayout(gridLayout);& ViewForm&viewForm=new&ViewForm(shell,SWT.NONE);& GridData&gridData=new&GridData(GridData.HORIZONTAL_ALIGN_FILL);& gridData.horizontalSpan=1;& viewForm.setLayoutData(gridData);& myToolBar&tb=new&myToolBar(viewForm,SWT.NONE);&//&报错 shell.open();& shell.layout();& while&(!shell.isDisposed())&{& if&(!display.readAndDispatch())& display.sleep();& }& }& } //一种方法是全部class都拿出来 class&myToolBar&extends&ToolBar{& private&myToolItem1&toolItem1;& private&myToolItem2&toolItem2;& public&int&GraphS& public&myToolBar(ViewForm&viewForm,int&style){& super(&viewForm,&style);& myToolItem1&ti=new&myToolItem1(this,SWT.NONE);& myToolItem2&ti2=new&myToolItem2(this,SWT.NONE);& toolItem1=& toolItem2=ti2;& setToolItem();& }& public&void&setToolItem(){& toolItem1.setText(&画圆&);& GraphStyle=toolItem1.getmyToolItem_data();& toolItem2.setText(&画直线&);& GraphStyle=toolItem2.getmyToolItem_data();& }& public&int&getGraphStyle(){& return&GraphS& }& }& class&myToolItem&extends&ToolItem&implements&SelectionListener{&& protected&int&myToolItem_& public&myToolItem(myToolBar&parent,int&style){& super(parent,style);& }& public&void&setmyToolItem_data(int&x){& myToolItem_data=x;& }& public&int&getmyToolItem_data(){& return&myToolItem_& }& public&void&widgetSelected(SelectionEvent&e){& }& public&void&widgetDefaultSelected(SelectionEvent&e){& }& }& class&myToolItem1&extends&myToolItem{& public&&myToolItem1&(myToolBar&parent,int&style){& super(parent,style);& }& public&void&widgetSelected(SelectionEvent&e){& setmyToolItem_data(1);& }& }& class&myToolItem2&extends&myToolItem{& public&myToolItem2(myToolBar&parent&,int&style){& super(parent,style);& }& public&void&widgetSelected(SelectionEvent&e){& setmyToolItem_data(2);& }& }
关注!!!
这样也行吧,LZ试下:
public&class&Hello1&{ public&static&void&main(String[]&args)&{ Hello1&hello&=&new&Hello1();&&&&&&&&&&&//修改 final&Display&display&=&Display.getDefault(); final&Shell&shell&=&new&Shell(); shell.setSize(500,&375); shell.setText(&SWT&Application&); // GridLayout&gridLayout=new&GridLayout(); gridLayout.numColumns=2; shell.setLayout(gridLayout); ViewForm&viewForm=new&ViewForm(shell,SWT.NONE); GridData&gridData=new&GridData(GridData.HORIZONTAL_ALIGN_FILL); gridData.horizontalSpan=1; viewForm.setLayoutData(gridData); hello.myToolBar&tb&=&new&hello.myToolBar(viewForm,SWT.NONE);&//修改 shell.open(); shell.layout(); while&(!shell.isDisposed())&{ if&(!display.readAndDispatch()) display.sleep(); } } class&myToolBar&extends&ToolBar{ private&myToolItem1&toolItem1; private&myToolItem2&toolItem2; public&int&GraphS public&myToolBar(ViewForm&viewForm,int&style){ super(&viewForm,&style); myToolItem1&ti=new&myToolItem1(this,SWT.NONE); myToolItem2&ti2=new&myToolItem2(this,SWT.NONE); toolItem1= toolItem2=ti2; setToolItem(); } public&void&setToolItem(){ toolItem1.setText(&画圆&); GraphStyle=toolItem1.getmyToolItem_data(); toolItem2.setText(&画直线&); GraphStyle=toolItem2.getmyToolItem_data(); } public&int&getGraphStyle(){ return&GraphS } } class&myToolItem&extends&ToolItem&implements&SelectionListener{& protected&int&myToolItem_ public&myToolItem(myToolBar&parent,int&style){ super(parent,style); } public&void&setmyToolItem_data(int&x){ myToolItem_data=x; } public&int&getmyToolItem_data(){ return&myToolItem_ } public&void&widgetSelected(SelectionEvent&e){ } public&void&widgetDefaultSelected(SelectionEvent&e){ } } class&myToolItem1&extends&myToolItem{ public&&myToolItem1&(myToolBar&parent,int&style){ super(parent,style); } public&void&widgetSelected(SelectionEvent&e){ setmyToolItem_data(1); } } class&myToolItem2&extends&myToolItem{ public&myToolItem2(myToolBar&parent&,int&style){ super(parent,style); } public&void&widgetSelected(SelectionEvent&e){ setmyToolItem_data(2); } } }
第一种方法我试了好使&&5楼的第二种方法不知道为什么&在hello.后系统并不自动提示myToolBar&&&而全写上去系统又报错hello不可解析&不知道这是为什么
我其实是初来乍到的&没想到这里回帖这么快
Hello.myToolBar&tb&=&new&hello.myToolBar(viewForm,SWT.NONE);&//修改
不好意思,当时修改的不正确
关于inner&class的详细介绍:/docs/books/tutorial/java/javaOO/nested.html
-11:32&&&[]
&&public&static&void&main(String[]&args)&throws&Exception
中的String[]&args&中的args&是什么意思啊
18:52&&&[]
!String[]&args注意是在命令行向程序传递的参数列表,不管传不传参数都要按规定的写!
String[]&args就是用来在执行时,传递运行参数进来的给main方法的
String[]&args就是用来传递运行参数进来的给main方法的,在执行时它会传递参数的
12:39&&&[]
直接通过“类名.方法名()”的方式来调用。  为什么使用void修饰main()   对于java中的main(),jvm有限制,不能有返回值,因此返回值类型为void。  关于参数String[] args的说明 & & & & main方法中还有一个输入
18:23&&&[]
的一个类中的静态方法,但是当你运行的时候,就告诉编译器“我这个是主类!”但编译器就迷惑了“我没找到你的主函数啊!我要告诉我找不到主函数!”
因为主函数是程序的入口,你写的东西会覆盖编译器的main(String[]&args){},由于他是静态的,所以他是第一个进入内存的孩子
-12:15&&&[]
voidmain(String[] args) 不管哪种定义方式,都必须保证main方法的返回值为void,有static与public关键字修饰。同时由于main方法为程序的入口方法,因此不能用abstract关键字来修饰。 (2)同一个.java文件中是否可以有多个main方法? 虽然每个类中都可以定义main方法,但是只有与文件名相同的用public修饰的类中的main方法才能作为整个程序的入口方法。如下例所示,创建了一个名为Test.java的文件。
class T{ &&&&&& public static void
22:25&&&[]
(String[]&args)
&是代码状态编译成class文件后都会成&统一的源码&&用java&反便宜器反编译看到的源码都是&&public&static&void&main(){}&&所以运行的时候都没区别
最后谢谢回帖的兄弟了
那老师在忽悠我哟`````
想知道你老师怎么说的
如果你用一些编码工具进行检测,比如checkstyle,那么会提醒你方法前的修饰符顺序不规范
正规一点的写法是(string[]args)
正规一点的写法是(string[]args)
String&要大写。。。。
没有区别,public和static都是修饰符,位置可以颠倒,习惯性public写在前。
完全没有区别
没区别,只是为了增加程序的可读性才要按照一定的规则(这也是程序员的一个好习惯)
不影响结果,但是static&public&void&void&main(String&[]&args)不符和大众编码习惯(我个人认为)
没区别。。。
讨论这个似乎没有太大的意义。
知道了,这才注意到。谢了
sun&issuetracker&上面有这个bug的
状态是&&will&not&
18:21&&&[]
回复讨论(解决方案)
static:说明此方法为静态方法,也叫类方法,main方法一定要声明为静态方法
void:说明此方法没有返回值
main:方法名
String&[]&:声明方法参数为字符数组
args:方法形参名
楼主加强学习,此为最最最基本的
static:表示该方法是静态的
void:表示该方法没有返回值
main:这个是方法的名字,每一个java程序都需要一个main方法,作为程序的入口
String:字符串类型
[]:这个需要和某种数据类型一起使用,表示该类型的数组
args:参数名字,没什么好解释的
海词在线词典
adj.静态的,&静止的,&稳定的,&静力的,&静电的&
n.静电,&静电干扰&
n.(猛烈的)反对或抨击
基础英汉词典
a.无效的;没有的&n.空虚感;真空&vt.使无效
新世纪英汉科技大辞典
主;&主输电线;&主要的;&干管;&干线
n.弦,线;一串,一行&vt.用线串;悬挂
[]就不是单词
arguments缩写
自变量;&自变数;&理由;&辐角;&幅度;&幅角;&论点;&论证;&变元
static:说明此方法为静态方法,也叫类方法,main方法一定要声明为静态方法
void:说明此方法没有返回值
main:方法名
String&[]&:声明方法参数为字符数组
args:方法形参名
楼主加强学习,此为最最最基本的
static,说明方法是静态的;
void,&说明方法不需要返回值;
main,&为方法名,作为Java程序的主方法;
String[],&定义args参数的类型,为字符串数组类型;
我们可以通过,下边程序知道(String[]&args)的作用;
public&class&Test{
public&static&void&main(String[]&args){
System.out.println(args[0]+&&&+args[1]);
CMD里编译此代码后,运行时个输入命令:“java&Test&hello&world”;程序就会显示外部输入的参数值(中间要用空格间隔开)。
楼上我还是不明白你写的什么意思,求渗透指教!!!
不知你是不是遇到了一个或是马上要遇到这么一个传说中的这些要问很清楚的答辩老师
&&&&&。貌似无聊的人挺多。。。
static:说明此方法为静态方法,也叫类方法,main方法一定要声明为静态方法
void:说明此方法没有返回值
main:方法名
String&[]&:声明方法参数为字符数组
args:方法形参名
楼主加强学习,此为最最最基本的
专业 static:
海词在线词典
adj.静态的,&静止的,&稳定的,&静力的,&静电的&
n.静电,&静电干扰&
n.(猛烈的)反对或抨击
基础英汉词典
a.无效的;没有的&n.空虚感;真空&vt.使无效
新世纪英汉科技大辞典
主;&主输电线;&主要的;&干管;&干线
n.弦,线;一串,一行&vt.用线串;悬挂
static:说明此方法为静态方法,也叫类方法,main方法一定要声明为静态方法
void:说明此方法没有返回值
main:方法名
String&[]&:声明方法参数为字符数组
args:方法形参名
程序的入口方法
static,说明方法是静态的;
void,&说明方法不需要返回值;
main,&为方法名,作为Java程序的主方法;
String[],&定义args参数的类型,为字符串数组类型;
我们可以通过,下边程序知道(String[]&args)的作用;
public&class&Test{
public&static&void&main(String[]&args){
在MYECLIPSE里编译出错……
楼上的回答很专业,我已经无话可说了
感觉Java有点罗嗦,像什么
public&static&void&main&(String[]&args)
System.out.println()
不是很简练啊。
static:表示该方法是静态的
void:表示该方法没有返回值
main:这个是方法的名字,每一个java程序都需要一个main方法,作为程序的入口
String:字符串类型
[]:这个需要和某种数据类型一起使用,表示该类型的数组
args:参数名字,没什么好解释的
args&是数组名,也作为方法的形参。
-12:02&&&[]

我要回帖

更多关于 public类的main函数 的文章

 

随机推荐