失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java不用main方法运行_如何在不定义main方法的情况下运行Java程序?

Java不用main方法运行_如何在不定义main方法的情况下运行Java程序?

时间:2019-07-14 06:57:34

相关推荐

Java不用main方法运行_如何在不定义main方法的情况下运行Java程序?

我正在查看一些Java源代码,并注意到main方法没有定义。

Java如何编译源代码而不知道从哪里开始?

main方法仅在Java虚拟机执行代码时使用。没有main方法就无法执行代码,但仍然可以编译代码。

编译代码时,通常在命令行中指定一组文件,例如

javac MyClass1.java MyClass2.java

Java编译器(javac)检查传递给它的每个类,并将其编译为.class文件。

Java源代码可能缺少main方法的一个原因是因为它被设计为用作库而不是被执行。

您可能感兴趣的东西:虽然Java编译器编译的源代码不需要main方法,但Java编译器本身的源代码确实有main方法。

运行和编译之间存在差异。 Java代码可以递增编译。您只需要一个main来运行代码。 Java"知道从哪里开始",因为编译器足够智能,可以在编译时排列所有依赖项。

实际上,如果要在某种标准容器中构建Web应用程序,则代码可能不会使用main方法。容器可以,但你只需编写插入的组件。

//仅适用于java 1.6或更低版本

public class Test{

// this is static block

static{

System.out.println("This is static block");

}

}

在Java中(运行时):

识别所有静态成员。

所有变量和方法都已初始化

执行静态块

how does Java compile run your source without knowing where to

start?

我假设你的意思是运行(而不是编译),因为你不需要main()来编译。在这种情况下,显式声明的main()方法只是运行程序的方法之一。

您可以使用一些框架来执行代码。他们有main()(仅讨论控制台应用程序)并要求您仅声明入口点。例如,这是运行单元测试的方法。

这将在没有任何错误且没有main()方法的情况下执行

abstract class hello extends javafx.application.Application

{

static

{

System.out.println("without main method");

System.exit(0);

}

}

如果您也不想使用静态块,可以按照以下方式完成

public class NoMain {

private static final int STATUS = getStatus();

private static int getStatus() {

System.out.println("Hello World!!");

System.exit(0);

return 0;

}

}

但请注意,这是针对Java 6版本的。它不适用于Java 7,据说Java 8支持它。我尝试使用JDK 1.8.0_77-b03,但仍然无法正常工作

此代码无效

其中一种方法是静态块,但在以前版本的JDK中不在JDK 1.7中。

class A3{

static{

System.out.println("static block is invoked");

System.exit(0);

}

}

package com.test;

public class Test {

static {

System.out.println("HOLAAAA");

System.exit(1);

}

}

//by coco

//Command line:

//java -Djava.security.manager=com.test.Test

嗨coco,欢迎来到Stack Overflow。 只是提示您的第一篇文章:请考虑添加一些解释性文本,说明其工作原理和原因,最好参考该方法的文档。

我们可以编译一个没有main方法的程序。实际上运行程序与编译程序不同。大多数库不包含main方法。所以对于编译,程序是否包含main方法没有问题。

public class Test{

// this is static block

static{

System.out.println("This is static block");

System.exit(0);

}

}

这将在JDK 1.6或更早版本中正常运行。在1.7及更高版本中,必须包含main()函数。

是的,我们可以在没有main方法的情况下运行java程序,为此我们将使用静态函数

以下是代码:

class Vishal

{

static

{

System.out.println("Hi look program is running without main() method");

}

}

这将输出"Hi look程序正在运行而没有main()方法"

您编写的每个Java类都不是运行的入口点,这就是原因。我会说这是规则而不是例外。

如果觉得《Java不用main方法运行_如何在不定义main方法的情况下运行Java程序?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。