所以我可以将空值传递给java中的函数。我也可以在java中重载函数。但考虑以下
public static void main(String ... args){
doStuff(null);
}
public static void doStuff(String s){
solveWorldHunger();
}
public static void doStuff(Integer i){
nukeCanada();
}
public static void nukeCanada(){
System.out.println("NO!");
}
public static void solveWorldHunger(){
System.out.println("YAY!");
}
无论源代码的顺序如何,前面的程序总是会打印出 YAY...
任何人都可以解释为什么 jvm 始终决定在solveWorldHunger
函数上运行nukeCanada
函数吗?