Java 为什么不调用静态方法;“主要”;从另一个班级到另一个班级?
如果我有课:Java 为什么不调用静态方法;“主要”;从另一个班级到另一个班级?,java,static-methods,main-method,Java,Static Methods,Main Method,如果我有课: 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作为HelloWorl
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);
按照我们调用静态方法的方式。是的,您可以从另一个类调用main方法
但是,不应该从应用程序内部调用main()方法。main()方法应该用作应用程序的入口点,以启动程序,而不是用于递归执行应用程序内部的逻辑。如果您有再次需要的功能,您应该将其放在一个单独的方法中。是的,您可以从另一个类调用main方法
但是,不应该从应用程序内部调用main()方法。main()方法应该用作应用程序的入口点,以启动程序,而不是用于递归执行应用程序内部的逻辑。如果您有再次需要的功能,您应该将其放在单独的方法中。您的代码不是有效的Java代码。它不编译。我使用以下步骤修复了编译错误:
- 将方法
的返回类型更改为main
void
- 已删除
,因为没有抛出异常,编译器会对此进行投诉抛出IOException
- 关闭方法
,然后打开方法main
createMessage
- 使方法
static,因此可以从静态方法createMessage
main
- 将
作为返回类型添加到方法String
createMessage
- 将return语句移动到方法
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
创建消息来实现这一点。此方法完成执行后,将创建消息传递给方法System.out.println()
,这是Java将文本输出到控制台的方法
通过替换这两行代码,可以进一步简化代码
String message = "Hello World!";
return message;
这一行:
return "Hello World!";
您的代码不是有效的Java代码。它不编译。我使用以下步骤修复了编译错误:
- 将方法
的返回类型更改为main
void
- 已删除
,因为没有抛出异常,编译器会对此进行投诉抛出IOException
- 关闭方法
,然后打开方法main
createMessage
- 使方法
static,因此可以从静态方法createMessage
main
- 将
作为返回类型添加到方法String
createMessage
- 将return语句移动到方法
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
创建消息来实现这一点。此方法完成执行后,将创建消息传递给方法System.out.println()
,这是Java将文本输出到控制台的方法
通过替换这两行代码,可以进一步简化代码
String message = "Hello World!";
return message;
这一行:
return "Hello World!";
要调用一个方法,你需要编写可编译的代码。使用main方法做一些工作没有错。它通常用于两种情况(至少对我来说):懒惰或测试你写的东西。通常,当我有一个Java程序调用另一个Java程序时,我会将类或Jar作为一个新进程运行,这样它就不会共享内存空间、状态(OS级别)或全局应用程序变量。如果从当前JVM调用main方法,它将使用当前线程或新线程(如果您选择)。但是请不要在同一个JVM中执行此操作,除非您只是出于懒惰。Stefan的方法是最好的。要调用一个方法,你需要编写可编译的代码。使用main方法做一些工作没有错。它通常用于两种情况(至少对我来说):懒惰或测试你写的东西。通常,当我有一个Java程序调用另一个Java程序时,我会将类或Jar作为一个新进程运行,这样它就不会共享内存空间、状态(OS级别)或全局应用程序变量。如果从当前JVM调用main方法,它将使用当前线程或新线程(如果您选择)。但是请不要在同一个JVM中执行此操作,除非您只是出于懒惰。Stefan的方法是最好的。要从另一个类调用它,你要实例化HelloWorld的一个对象吗?有时,当我尝试在main下添加一个方法时,IDE根本无法识别它,Eclipse,它一直在告诉:Syntax error,insert“;”要完成localvariabledclarationstatement(1),您不能将一个方法声明插入到另一个方法中。这里,
main
也是方法,因此不能将方法声明插入到main
方法中。(2) HelloWorld
只有。这意味着没有必要创建它的实例。要从另一个类调用main
方法,您可以像在问题中一样执行:HelloWorld.main(新字符串[0])代码>。它不返回值,只将其打印到控制台。你确定要这样做吗?不客气。然而,你可能想问一个新的问题,因为它似乎与这个问题有很大的不同