Java中overload和override的区别
转自: http://www.cdtarena.com/javapx/201304/8413.html 1. 方法重载( overload ) 概念:简单的说 : 方法重载就是类的同一种功能的多种实现方式,到底采用哪种方式,取决于调用者给出的参数。 注意事项: (1) 方法名相同 (2) 方法的 参数类型、个数、顺序不至少 有一项不同 (3) 方法返回类型可以不同 (4) 方法的修饰符可以不同 如果 只是返回类型 不一样,不能够构成重载 如果 只是控制访问修饰符号 不一样,也是不能构成重载的 Overloaded的方法是可以改变返回值的类型。 2. 方法覆盖( override ) 概念:简单的说:方法覆盖就是子类有一个方法,和父类的某个方法的 名称、返回类型 、 参数 一样,那么我们就说子类的这个方法覆盖了父类的那个方法。 注意事项:方法覆盖有很多条件,总的讲有两点一定要注意: (1) 子类的方法的返回类型,参数,方法名称,要和父类方法的返回类型,参数,方法名称完全一样,否则编译出错。 (2) 子类方法不能缩小父类方法的访问权限(反过来是可以的) 例: Overrride实例 class A{ public int getVal(){ return(5); } } class B extends A{ public int getVal(){ return(10); } } /