将 main 方法定义为:public static void main(String[] args)的理由

1.没有public修饰符或者其他修饰符

错误: 在类...中找不到 main 方法, 请将 main 方法定义为:

public static void main(String[] args)

否则 JavaFX 应用程序类必须扩展javafx.application.Application

2.没有static

错误: main 方法不是类 ... 中的static, 请将 main 方法定义为:

public static void main(String[] args)

3.返回值不是void

错误: main 方法必须返回类 ...中的空类型值, 请

将 main 方法定义为:

public static void main(String[] args)

4.没有main

错误: 在类 ... 中找不到 main 方法, 请将 main 方法定义为:

public static void main(String[] args)

否则 JavaFX 应用程序类必须扩展javafx.application.Application

5.参数类型不是string[],或者没有参数列表

错误: 在类 ...中找不到 main 方法, 请将 main 方法定义为:

public static void main(String[] args)

否则 JavaFX 应用程序类必须扩展javafx.application.Application

原因:

main()方法是Java应用程序的入口方法,Java里的权限,其实是相对的.比如 定义为 public ,则为所有人都可以访问.定义为 private 则相对于其他外部的调用来说,是不可见的.但对于定义这个属性或方法的类本身来说.没有任何影响.
  因为编写一个类,总是要实现某些功能,类中定义的方法不可能仅仅有一个(极端的空类,只有一个隐含构造函数的例外). 但方法多了,就会产生问题.即,那个方法是整个类的入口呢? 所以 Sun 规定了,把这个入口强制规定成 main.

因为这个方法是在这个类实例化前就需要调用.所以要定义成 static .

因为这个main方法是留做给运行环境使用的.所以要定义成 public (外部运行环境不属于这个类本身,也不属于这个类所在的包.)

又因为这个main方法仅仅是调用这个类内部其他方法的一个入口, 所以他不需要任何的返回值.因此就定义成 void .

时间: 2024-09-30 18:45:17

将 main 方法定义为:public static void main(String[] args)的理由的相关文章

错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application

错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.application.Application 出现这种错误的原因其中一种就是 导包时错把其他的String包导入,以至于找不到main(String[ ]  args) 原文地址:https://www.cnblogs.com/mibloom/p/9497357.html

eclipse 运行错误:在类XXX中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application

新建了一个类Hello: 代码: 第一次运行报错: 点击关闭该类的界面时出现: 点击是,然后再次打开,可以正确执行,结果为: 这是为什么....

错误: 在类 com.zs.container.CollectionData 中找不到主方法, 请将主方法定义为: public static void main(String[] args)

错误: 在类 com.zs.container.CollectionData 中找不到主方法, 请将主方法定义为: public static void main(String[] args) package com.zs.container; import java.util.ArrayList; import com.java.array.generator.CountingGenerator.String; import com.java.array.generator.CountingG

为什么Java的main方法必须是public static void?

Main 方法是我们学习 Java 编程语言时知道的第一个方法,你是否曾经想过为什么 main 方法是 public.static.void 的.当然,很多人首先学的是 C 和 C++,但是在 Java 中 main 方法与前者有些细微的不同,它不会返回任何值,为什么 main 方式是 public.static.void,这篇文章尝试去找到一些答案. Main 方法是 Java 程序的入口,记住,我们这里不会讨论 Servlet.MIDlet 和其他任何容器管理的 java 程序,在 java

java的main函数为什么是public static void main(String[] args)

这个问题困扰我好久了,今天就一查究竟,毕竟我好奇心比较重 1. why "public" 因为java程序是通过jvm虚拟机调用的,所以main()函数要是想被调用,必须是public 2.why "static" 在java中,没有static的变量或函数,如果想被调用的话,是要先新建一个对象才可以.而main函数作为程序的入口,需要在其它函数实例化之前就启动,这也就是为什么要加一个static.main函数好比一个门,要探索其它函数要先从门进入程序.static

《Java程序员面试笔试宝典》之为什么需要public static void main(String[] args)这个方法

public staticvoid main(String[] args)为Java程序的入口方法,JVM在运行程序的时候,会首先查找main方法.其中,public是权限修饰符,表明任何类或对象都可以访问这个方法,static表明main方法是一个静态方法,即方法中的代码是存储在静态存储区的,只要类被加载后,就可以使用该方法而不需要通过实例化对象来访问,可以直接通过类名.main()直接访问,JVM在启动的时候就是按照上述方法的签名(必须有public与static修饰,返回值为void,且方

第三次博客作业package com.fry; //导入java.util.Arrays; import java.util.Arrays; public class Demo1 { public static void main(String[]args){ //创建对象,对象名为hello Demo1 hello =new Demo1(); //调用方法并将返回值保存在变量中

1.  某网站管理系统,用户注册时,电话号码为可选输入项,输入格式为:区号-电话号码—分机号,中间用“-”隔开.以下为jsp页面上的设计,且并未对输入做任何控制. 假设系统现在需要取出中间的电话号码部分,代码如下: /** * * 该方法根据用户输入取出中间的电话号码部分 * @param strPhoneNum 电话号码,如:“0591-83279988—002” * @return 返回号码部分,如:“83279988” */ public String getPhoneNumber(Str

public static void main(String arg[]) 详细解释(转)

public static void main(String arg[]) 该语句定义了main方法. main方法是程序执行的入口,所有的java程序都必须具备一个main()方法,而且必须按照如上的格式来定义. 不具有main方法的类可以编译,但不能执行.因为它没有main方法作为执行起始点. public是访问修饰符,如果在类成员前加之,则可从任何地方访问此类成员. static 表示不需要创建类实例就可以调用main方法,因为,一般情况下,类没有实例化就不能访问.但如方法前有关键字sta

JAVA:从public static void main(String args[])開始

我们都知道当你要执行一个JAVA文件的时候必需要有一个main函数. 这是为什么呢? 跟C语言的道理一样,当你执行一个文件的时候.你必需要有一个入口函数或者入口地址,在C里面是main函数.相同的在JAVA里面则是public static void main(String args[])这样一个入口函数.这是java程序的入口地址,java虚拟机执行程序的时候首先找的就是main方法.跟C语言里面的main()函数的作用是一样的.仅仅有有main()方法的java程序才可以被java虚拟机欲行