java类中的run或main函数有什么区别

时间:2014-04-01 08:44:29

标签: java

这是我第一天学习java,当我们写一个类(第一个)。有人定义了一个定义运行函数的主函数。

他们是一样的吗?

5 个答案:

答案 0 :(得分:1)

public static void main(String[] args)方法是一种可选方法,如果要将其作为外部Java程序执行,可以在类中实现。将调用main静态方法,并将一个String参数数组传递给它。

现在这个没有run方法需要担心。在学习多线程时,您将在稍后阶段再次遇到此问题。正如@PaulDraper在评论中所说的那样,你的类中定义的任何其他静态方法都可以从main调用,尤其是。如果你想保持后者的简洁。

答案 1 :(得分:0)

不,他们不一样。此外,在Java中没有功能。请改为使用术语method

如果两种方法的名称不同,那么它们就不一样了。

答案 2 :(得分:0)

main方法类似于C和C ++中的main函数; 它是您的应用程序的入口点,随后将调用您的程序所需的所有其他方法。

在Java编程语言中,每个应用程序都必须包含一个签名为:

的main方法
public static void main(String[] args)

修饰符publicstatic可以按任意顺序编写(public staticstatic public),但惯例是使用public static,如上所示。您可以根据需要为参数命名,但大多数程序员选择argsargv


  

有人定义了一个定义运行函数的主函数。它们是一样的吗?

NO。您将在run()章节中学习Thread方法。 run()是线程执行的入口点。

答案 3 :(得分:0)

main方法是程序的入口点,但run接口的Runnable方法是线程的入口点。 JVM查找main方法,因此为了直接从JVM启动java程序,您必须有一个main方法。

跟随者以不同的方式完成同样的工作。

只有主要:

    public class HelloWorld {

        public static void main(String args[]) {
            System.out.println("Hello from main!");
        }

    }

从main调用线程:

    public class HelloThread extends Thread {

        public void run() {
            System.out.println("Hello from a thread!");
        }

        public static void main(String args[]) {
            (new HelloThread()).start();
        }

    }

来自docs.oracle

的示例

答案 4 :(得分:0)

假设你有简单的java应用程序:

public class SimpleJavaApp {
    public static void main(String[] args) {
        System.out.println("HELLO WORLD");
    }
}

从控制台编译时,键入:

  

javac SimpleJavaApp.java

接下来你运行它:

  

java SimpleAppJava

当你运行它时,java将运行" main"方法给你。主要方法是简单应用程序的开始(入口点)。该方法采用字符串参数数组,您可以在执行期间将其传递给应用程序,例如:

  

java SimpleJavaApp someArgument

然后在应用程序中

public class SimpleJavaApp {
    public static void main(String[] args) {
        System.out.println(args[0]);
    }
}

会打印出来:

  

someArgument

接下来,run方法是java并发中的概念。 run方法是每个新线程的起点,尽管你暂时不用担心这些!