1 .重载的定语义
一般来说,功能点相同的方法才适合使用重载,但重载必须满足如下要求:
- 必须是同一类
- 方法名必须相同
- 参数列表不同
值得注意的是:方法重载与返回值无关。
参数列表不同:
参数的个数不同。
参数的对应数据类型不同。
参数的顺序不同(不同类型的可以交换位置)
通俗记法:两同三异
2.实例如下:
- 平面与空间之间的距离求解
/*
* 针对方法的重载
* */
package lry;
import javax.swing.JOptionPane;
public class overload {
static double distance(double x,double y) {
double d=Math.sqrt(x *x+y*y);
return d;
}
static double distance(double x,double y,double z) {
double d=Math.sqrt(x *x+y*y+z*z);
return d;
}
public static void main(String[] args){
double d1=distance(3,5);
double d2=distance(3,5,6);
JOptionPane.showMessageDialog(null, "平面的距离d="+d1+"/n"+"空间的距离d="+d2);
System.exit(0);
}
}
2.减法封装方法重载
package com.lry;
public class OverMethod {
public static void main(String[] args) {
int result = subduction(2,3);
System.out.println(result);
result = subduction(2,3,4);
System.out.println(result);
System.out.println(subduction3(3,4));
System.out.println(subduction(1.0,2));
System.out.println(subduction(1,2.0));
}
public static int subduction(int a,int b){
return a-b;
}
public static double subduction(double a,double b){
return a-b;
}
public static int subduction3(int a,int b){//这个不是方法的重载 因为方法名不同
return a-b;
}
public static int subduction(int a,int b,int c){
return a-b-c;
}
public static double subduction(double a,int b){
return a-b;
}
public static double subduction(int a,double b){
return a-b;
}
}