考虑过载的以下几点:
在Java中重载方法的首要原则是更改方法签名。方法签名由参数数量,参数类型和参数顺序(如果它们是不同类型)组成。
public class DemoClass {// Overloaded methodpublic Integer sum(Integer a, Integer b) { return a + b;}// Overloading methodpublic Integer sum(Float a, Integer b) { //Valid return null;}}
方法的返回类型从不属于方法签名的一部分,因此仅更改方法的返回类型并不等于方法重载。
public class DemoClass {// Overloaded methodpublic Integer sum(Integer a, Integer b) { return a + b;}// Overloading methodpublic Float sum(Integer a, Integer b) { //Not valid; Compile time error return null;}}
重载方法时,也不会考虑方法引发的异常。因此,您的重载方法将引发相同的异常,不同的异常,或者它仅不引发任何异常。对方法加载完全没有影响。
public class DemoClass {// Overloaded methodpublic Integer sum(Integer a, Integer b) throws NullPointerException{ return a + b;}// Overloading methodpublic Integer sum(Integer a, Integer b) throws Exception{ //Not valid; Compile time error return null;}}



