说实话,这两个没有什么可比较的,概念相差那么大,但是很多笔试题之类的还喜欢考。只是长的像了一点而已。
overload是重载,对方法而言,同名不同参数,可以发生在当前类,也可以发生在父类和子类的身上。
override是覆盖,主要是发生在父类和子类的身上,子类继承了父类,然后写一个和父类同名,同参数的方法,那么父类的方法就被子类覆盖掉了。
但是,我总结了最重要的两点:
1.子类的方法的返回类型,参数,方法名称,要和父类方法的返回类型,参数,方法名完全一样,否则编译出错。
2.子类方法不能缩小父类方法的访问权限。(体现在修饰符上面,比如父类是public 的,子类变为了protected就不行了),但是反过来可以,就是说子类可以放大父类的方法的访问权限。