java方法重写(覆盖)与方法重载实例源码介绍



java方法重写(覆盖)与方法重载实例源码介绍。

package wzq.j2se.claz;

import java.io.IOException;
import java.util.List;

public class OverMethod extends MParents{

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

}
public String fun1(String s,int n){
return null;
}
//与是否写public无关,与返回类型无关,以下写法是错误的。
/*Map fun1(String s,int n){
return null;
}*/

private List fun2(String s,int n) throws Exception{
return null;
}
//与抛出的异常无关,以下是错误的
/*private List fun2(String s,int n) throws IOException{
return null;
}*/
//综上所述,方法重载只与参数有关,包括类型、个数、顺序
//—————————————————————————————-

//返回类型必须与原方法相同,以下是错误的。
/*public void pf1(){


}*/

//方法的访问权限必须大于原方法。此处为default,小于protected,所以是错误写法。应为public才对。
/*List pf2(){
return null;
}*/

//声明的异常类必须是原方法的子类或同类,以下写法错误。
/*public void pf3() throws Exception{

}*/
public void pf3() throws IOException{

}
}
class MParents{
public String pf1(){
return null;
}
protected List pf2(){
return null;
}

public void pf3() throws IOException{

}
}