重写(Override)和重载(overload)都是多肽的一种表现
重写(override):是父类和子类的之间的多肽关系,子类继承父类并拥有父类的所有属性,然后根据业务的不同重写父类的方法,而且不能改变返回类型
父类:
public interface GsTaskService {
List queryTaskList(String beginDate, String taskOper, String deptCode, String checkType);
}
子类继承父类重写父类:
public class GsTaskServiceImpl implements GsTaskService{
@Override
public List queryTaskList(String beginDate, String taskOper, String deptCode, String checkType) {
List list = gsTaskMapper.queryTaskList(beginDate, taskOper, deptCode, checkType);
return list;
}
}
这里面子类继承父类后必须重写父类,子类的参数必须和父类的一直,返回值类型也是保持一直的
重载(overload):根据参数不同,返回类型不同,进行自动匹配调用,可以根据调用的不同改变返回值类型,
改变返回类型的前提时参数方法名不变,参数必须有变,返回值类型可以改变
public class test {
public static void main(String[] args) {
int a = 10;
int b = 11;
String c = “12”;
double e = 1.0;
// 当输入是两个int类型时
aaa(a, b);
// 当参数类型不同时
aaa(a, e);
// 改变返回类型
aaa(a, b, c);
}
public static String aaa (int a, int b) {
return a+b+"";
}
public static String aaa (int a, double b) {
return a+b+"";
}
public static int aaa (int a, int b, String c) {
return Integer.valueOf(a+b+c);
}
}
他们的优点是简化代码,减少代码的开发量