Overload
重载;
同一类中可以有多个名称相同的方法,
方法参数个数或类型不同;
与修饰符无关;
与访问权限无关;
与返回值无关;
与异常类型、数量无关;
Override
覆盖、重写;
子类方法可以与父类方法完全相同,子类实例对象调用该方法时,调用的是子类定义的方法,等同于把父类方法覆盖掉了;
子类、父类方法修饰符必须相同,才能覆盖;
子类只能比父类抛出(一样或)更少的异常,或者抛出父类异常的子异常(子类要解决父类的一些问题,而不能有更多的问题);
子类访问权限必须比父类更大,不能更小;
如果子类是private修饰,相当于子类增加了一个全新的方法
疑问:构造器Constructor是否可以被override?
子类不能继承:
- 父类中修饰符为private或缺省的成员:private修饰的成员只有当前类能访问,即便是子类也不行;
- 父类中的静态成员:静态成员不能重写;
- 父类的构造函数(Constructor):构造函数的定义要求之一即为方法命名与类名相同,如果子类重写父类构造函数,名字与父类名字一样,它就不再符合子类构造函数的命名要求,而只是子类一个名字与父类构造函数名字恰巧一样的普通方法而已。