[英]public static void main(String[] args) throws Exception
这是什么意思?
public static void main(String[] args) throws Exception?
我不知道。 如果有人知道请帮助我。 我真的很想知道“抛出异常”。
public:它是一个访问说明符,意味着它可以被程序中的任何其他类访问。
static:它是访问修饰符,表示当java程序加载时,它将自动在内存中创建空间。
void(返回类型):它不返回任何值。
main():它是一个方法或函数名。(第一个由JVM执行的方法)
string args []:它是一个命令行参数,它是字符串格式的变量集合。
这是完全不同的三件事:
public
表示该方法可见,可以从其他类型的其他对象调用。 其他替代方案是私有,受保护,包和私有。 有关详细信息,请参见此处
static
表示该方法与该类关联,而不是该类的特定实例(对象)。 这意味着您可以在不创建类的对象的情况下调用静态方法。
void
表示该方法没有返回值。 如果方法返回一个int,你会写int而不是void。
它只是通常的入口点方法public static void main(String[])
,除了它显式指定可能抛出的异常。 如果代码的任何部分显式抛出没有try-catch块的异常(当然不包括运行时异常),则编译器需要这样做。 例如,这将无法编译:
public static void main(String[] args){
throw new Exception();
}
这三个关键字彼此差异很大。 Public =此类型可以由程序中的任何位置调用。 没有受到其他类别的保护。 Static =不必为了调用它们而实例化这种类型的方法。 Void =此类方法没有返回值
这个 main 方法在 main 之外抛出 Exception 的原因是因为实际程序实现的 rest 实际上根本不关心那个 Exception 是关于什么的。
例如,如果我在我的程序中所做的只是每 5 秒在屏幕上重复打印一些东西,我就不会太在意由于Thread.sleep()
方法而抛出的InteruptedException
。 在这种情况下,我们只需将它扔到 main 之外,就可以丢弃它的无关紧要,而不必编写某种代码来处理它。
老实说,它没有什么特别之处。 这只是一种不必愚弄无意义的东西的方法。
public class IrrelevantExceptionExample {
/**
* Main method that repeatedly prints to the console every five seconds from a single Thread.
* @param args - Wise words from above.
* @throws InterruptedException - Uhm… There's only one Thread and it's sleeping! (IrrelevantException)
*/
public static void main(String[] args) throws InterruptedException {
System.out.println("Hey, at start up.");
for (int i = 5; i < 25; i += 5) {
Thread.sleep(5000);
System.out.printf("Hey, again, except %d seconds later!%n", i);
}
}
}
Public:它是一个访问说明符,可以在整个程序中访问。 静态:它是一个关键字,可用于该变量的单个副本。 Void:它是一个空的返回类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.