override(重写,覆盖)
- 方法名、参数、返回值相同
- 子类方法不能缩小父类方法的访问权限
- 子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)
- 存在于父类和子类之间
- 方法被定义为final不能被重写
- 被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖
class Fu{ int num = 3; } class Zi extends Fu{ int num = 5; }
overload(重载,过载)
- 参数类型、个数、顺序至少有一个不相同
- 不能重载只有返回值不同的方法名
- 针对于一个类而言
- 不能通过访问权限、返回类型、抛出的异常进行重载
- 方法的异常类型和数目不会对重载造成影响
public static void main(String[] args){ System.out.println(add(1,2)); System.out.println(add(1.11,2.22)); } //返回一个int类型相加的和 public static int add(int a, int b){ return a + b; } //返回一个double类型想加的和 public static double add(double a, double b){ return a + b; }
评论