如果我有课:
public class HelloWorld {
public static String main(String[] args) throws IOException {
public createMessage(){
String message = "Hello World!";
}
}
return message; //return of the main static method
}
为什么我不能将main作为HelloWorld.main(args)
来自另一个类?
String msg = (String) HelloWorld.main(args);
System.out.println(msg);
按照我们称之为静态方法的方式。
答案 0 :(得分:2)
您的代码不是有效的Java代码。它不编译。我使用以下步骤修复了编译错误:
main
的返回类型更改为void
throws IOException
,因为没有抛出任何异常,编译器会抱怨它main
createMessage
createMessage
成为静态,因此可以从静态方法main
String
作为返回类型添加到方法createMessage
createMessage
这是固定代码:
public class HelloWorld {
public static void main(String[] args) {
System.out.println(createMessage());
}
public static String createMessage() {
String message = "Hello World!";
return message;
}
}
您可能不希望自己从另一个方法调用main方法。主要方法是程序的入口点,这意味着JVM会自动调用它来启动程序。在main方法中,打印hello world消息。您可以通过使用方法createMessage
创建消息来完成此操作。在此方法完成执行后,您将create消息传递给方法System.out.println()
,这是Java的方法,用于将文本输出到控制台。
您可以通过替换两行来进一步简化代码
String message = "Hello World!";
return message;
这一行:
return "Hello World!";
答案 1 :(得分:0)
是的,你可以从另一个班级调用main方法。
但是,您不应该从应用程序内部调用main()方法。 main()方法应该用作应用程序的入口点,以启动程序,而不是用于递归执行该应用程序内部的逻辑。如果您再次需要功能,则应将其放在单独的方法中。