package interview; import java.io.IOException; public class OverideTest { /** * 重载中返回值,变量的名称,抛出的异常,访问修饰符均不能作为重载的依据 * 只能根据变量的类型,和数量,位置判断 * 多个重载方法且存在父子关系时,优先选择匹配子类的,存在多个同级别子类则编译错误 * 重在是一个类之间进行的关系 * @param name * @param age */ public void print(String name,int age,double salery){ } public void print(String name,double salery,int age){ } public int print(int age,String name,double salery){ return 1; } private String print(int age,String name){ return "str"; } } //>>>>>>>>>>>>>>>>>>>>> class Father{ void say() throws Exception{ } } /**父类与子类之间不存在重载 * 参数列表必须完全与被重写的方法的相同 * 返回的类型必须一直与被重写的方法的返回类型相同 * 访问修饰符只能大于等于父类的访问修饰符 * 抛出的异常不能比父类更宽,比如子类抛出异常,父类没有抛,子类抛出Exception,父类抛IOException都是错的
*静态static方法属于特殊情况,静态方法只能继承,不能重写Override,如果子类中定义了同名同形式的静态方法,它对父类方法只起到隐藏的作用。调用的时候用谁的引用,则调用谁的版本。 * @author * */ class Child extends Father{ @Override public void say() throws IOException{ } }
如有写错欢迎拍砖指正
重撸J2SE-重载与重写
最新推荐文章于 2024-04-10 10:47:42 发布