可能重复:
在控制台上打印消息而不使用main()方法
有人可以建议如何在不编写主方法的情况下运行JAVA程序.
例如:
System.out.println("Main not required to print this");
Run Code Online (Sandbox Code Playgroud)
如何在不使用类中的public static void main(String arg [])的情况下在控制台上打印上述行.
根据我的知识,我们无法在没有main方法的情况下执行,因为在运行java程序时.java虚拟机寻找主要方法.如果JVM找不到它会显示运行时错误的主方法错误在主线程中无法找到主类.
但我搜索了很多博客,其中一些人说,是的,如果在java程序中有静态块,可以通过静态博客完成,类加载器在java调用main()方法之前加载所有静态块!
它真的有可能,这些可用性是什么.
在一次采访中我问过这个问题:如果不使用static和main,我们怎样才能在控制台上打印消息?有可能吗?
Core Java第7版中的Horstmann写道,可以显示Hello,没有main方法的世界.它是这样完成的:
public class Hello{
static{
System.out.println("Hello, world");
}
}
Run Code Online (Sandbox Code Playgroud)
他说,首先你好,世界将被写入.只有这样您才会收到错误消息.
我用
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我没有对此进行建模.它已经修好了吗?
class WithoutMain {
static
{
System.out.println("Without main class!!!");
System.exit(0);
}
}
Run Code Online (Sandbox Code Playgroud)
当我试图在大于7的java版本中运行上面的代码时,我得到以下错误.该程序编译成功,但没有找到主类.主类应该包含方法:public static void main(String [] args).
有人可以请指导我为什么Java不支持在java7之后没有main运行程序
我正在使用Eclipse.我正在尝试制作一个不包含main函数的程序,但仍会打印Hello, World:
public class Q
{
static
{
System.out.println("Hello World");
System.exit(0);
}
}
Run Code Online (Sandbox Code Playgroud)
但是这个程序并没有给我预期的结果.一个错误即将到来,说Q类没有找到主要方法.我在哪里犯了错误?