什么是方法的重载?
答:在同一个类中,方法名一样,但是参数列表不一样的方法,称为方法的重载。
参数列表不同,有以下三种情况:
a、参数个数不一样
b、参数类型不一样
c、参数顺序不一样
方法重载的例子:设计比较俩个数据是否相等,兼容全整数类型byte、short、int、long
public class OverLoad {
public static void main(String[] args) {
int s1 = 10;
int s2 = 10;
System.out.println(compare(s1,s2));
}
public static boolean compare(byte s1,byte s2){
System.out.println("byte...");
return s1==s2;
}
public static boolean compare(short s1,short s2){
System.out.println("short...");
return s1==s2;
}
public static boolean compare(int s1,int s2){
System.out.println("int...");
return s1==s2;
}
public static boolean compare(long s1,long s2){
System.out.println("long...");
return s1==s2;
}
}
会根据传入的参数类型不同,寻找对应的方法。
判断是否为重载:只看方法名,参数列表(个数,类型,顺序)。方法名一样,参数列表不一样。
什么是方法的重写?
答:当子类需要修改父类的一些方法进行扩展,增大功能,我们常常把这样的一种操作方法称之为重写。
重写的注意事项:
子类继承父类或实现接口。子类重写父类或接口中的方法,必须方法名、返回值、参数列表一致。子类中重写的方法的修饰符必须不能比父类的方法高。
重写的例子
public class Fu {
public void fuMethod(String content) {
System.out.println("父类:" + content);
}
}
public class Zi extends Fu {
@Override
public void fuMethod(String content) {
System.out.println("子类" + content);
}
}