Java中方法重载与方法重写的区别
方法重载:在同一个类中,方法的方法名相同,但参数个数、顺序或参数类型不同;
方法重载例:
public class Student{
public void Name(){}
public void Name(int a){}
public void Name(int a,String b){}
public void Name(String b,int a){}
}
错误方法重载
public class Student{
public void Name(){}
public String Name(){return “你好”}
}
方法重载与返回值类型无关,上面代码会报错;
-------------------------------------------------------------------------------------------------------------------------
方法重写:在子类继承父类时,子类中存在与父类同名的方法,这时子类中的方法就重写了父类中方法;
重写注意:
1.子类与父类的方法名与方法参数列表要一致
2.子类的访问权限修饰符必须要大于或等于父类的权限访问修饰符
3.子类方法抛出的异常要小于父类方法抛出的异常
方法重写例
public class Father{
public void showAge(){
System.out.println("父亲");
}
}
public class Son extends Father{
public void showAge(){
System.out.println("儿子")
}
public static void main(String[] args){
Son son=new Son();
son.showAge();
}
}
上面代码运行结果是:儿子,如果把Son中的showAge方法去掉,运行结果为:父亲;重写后如果想再次调用父类中的方法,可以使用super关键字;