java应用程序的起点(不总是)是这个方法
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
当您这样做java className
时,它将检查该类是否具有 main 方法,因为它是静态的,因此可以在不创建实例的情况下调用它。
如果没有主方法或主方法存在但没有相同的签名,它将向您抛出一个RuntimeException
未找到的主方法。
不要忘记阅读详细了解 main 方法。
题外话:
扩展相同的想法,您不需要类的实例来引用其静态方法和字段。
public class MyClass {
public static int NUMBER = 10;
public static void String sayHello(){
return "Hello";
}
public void String sayBye(){
return "Bye";
}
public static void main(String[] args){
System.out.println(NUMBER); // No need for object
System.out.println(sayHello()); // No need for object
System.out.println(new MyClass().sayBye()); // sayBye is not accessible at class level have to have an object of MyClass to access sayBye
}
}
如果在其他类中调用相同的方法,则它可能如下所示:
public class MyClassCaller {
public static void main(String[] args){
System.out.println(MyClass.NUMBER); // No need for object just refer the class
System.out.println(MyClass.sayHello()); // No need for object just refer the class
System.out.println(new MyClass().sayBye()); // sayBye is not accessible at class level have to have an object of MyClass to access sayBye
}
}
关于静态方法的使用/过度使用的一个很好的讨论