方法重载:方法名必须一样、形参列表必须不一样
public class Test {
public static void main(String[] args) {
Add add = new Add();
System.out.println(add.sum(0,2));
}
}
class Add{
//注意这四个方法,它们的方法名必须一样,形参列表不一样
//返回值和访问修饰符不做要求
public int sum(int n1,int n2){
return n1+n2;
}
protected double sum(int n1,double n2){
return n1+n2;
}
double sum(double n1,int n2){
return n1+n2;
}
public double sum(double n1,double n2){
return n1+n2;
}
}
方法的重写:
它发生在继承中,有如下要求
1、子类的方法的访问修饰符范围不能小于父类方法访问修饰符的范围
2、子类方法返回值要是父类方法返回值的子类或者一样
3、子类方法名和形参列表必须和父类一样
public class Test {
}
class A{
protected Object say(){
return null;
}
}
class B extends A{
@Override
public String say(){
return null;
}
}