重载与重写
重载(overload)
在一个类中名称相同的方法,但是它的参数必定有不同(包括顺序、个数、类型)。
demo:
public void overloadDemo(){
System.out.println("overloadDemo01");
}
public void overloadDemo(int a){
System.out.println("a");
}
// 与上方int a 的 方法冲突
public void overloadDemo(int b){
System.out.println("a");
}
public int overloadDemo(int a,int b){
return 0;
}
// 与第一个无参的冲突
public int overloadDemo(){
return 0;
}
这里说的参数顺序并不是指两个相同类型的参数的形参名称顺序,而是指的是不同类型的参数的顺序。方法重写时最不需要考虑的是返回值的类型。
重写(override)
子类继承父类的方法,在自己的类中对父类的方法进行额外的操作(使用super可以调用父类中的方法)。
class Father{
public void toSon(){
System.out.println("父类的toSon");
}
}
class Son extends Father{
@Override
public void toSon() {
super.toSon();
System.out.println("子类的toSon");
}
}