建设网站二级建造师如何解聘,申请百度收录网址,wordpress 网站 图标,优化步骤前言
在前面的学习中#xff0c;我们学到了重写(Override),这里我们主要进行重载(Overload)的介绍#xff0c;同时对重写和重载的区别进行分析。
1. 重载(Overload)
#方法重载 在同一个类中定义多个同名但参数不同的方法。我们称方法与方法之间构成方法重载 在Java中…
前言
在前面的学习中我们学到了重写(Override),这里我们主要进行重载(Overload)的介绍同时对重写和重载的区别进行分析。
1. 重载(Overload)
#方法重载 在同一个类中定义多个同名但参数不同的方法。我们称方法与方法之间构成方法重载 在Java中如果多个方法的名字相同参数列表不同我们就说这几种方法发生了方法重载。
public static int add(int x,int y) {return x y;
}public static double add(double x,double y) {return x y;
}public static double add(double x,double y,double z) {return x y z;
}上述方法构成了方法重载也就是说发生方法重载需要满足以下条件 方法名必须相同参数列表必须不同参数个数不同/参数类型不同/类型次序不同与返回值类型无关即对返回值类型不做要求 1.1 方法签名
我们知道在同一个作用域中不能定义两个相同名称的标识符如在一个方法中定义两个同名变量这是不可行的。当我们在一个作用域中定义两个同名变量编译器会报错。那为什么方法重载发生在同一个类中且方法名相同而不会报错呢 Java中通过方法签名区分发生重载的方法确定你调用的是那个方法。 **方法签名编译器修改后方法最终的名字**方法全路径名 参数列表 返回值类型 通过JDK自带的反汇编工具在控制台中输入javap - v 字节码文件名我们可以查到上述发生方法重载的3个add()方法经过编译器编译后得到的名字如下 Tip: 方法名后括号中的内容表示参数类型括号外的符号表示返回值类型 2. 重载(Overload)和重写Override的区别
方法重写(Override)和方法重载(Overload)要求方法名必须相同也就是说重写和重载的区别主要体现在参数列表、返回值类型、访问限定符等方面。
区别重写(Override)重载(Overload)参数列表不能修改与原方法保持一致必须修改与原方法不同返回值类型与原方法相同或与原方法构成父子类关系返回值不做要求访问限定修饰符重写方法的访问权限不能比父类中被重写方法的访问权限更低可以修改不做要求