首页 > 试题广场 >

overload和override的区别

[问答题]
zu头像 zu
overload:
方法的重载
只在方法之间发生
方法名相同,并且区分大小写
参数列表不同,具体是指参数的类型,个数,顺序不同
返回值类型没有要求,可以相同,也可以不同
override:
方法的覆盖
发生在父子类之间
方法名称,参数表,返回值都相同
修饰符一样或者更宽
静态方法只能被静态方法覆盖,没有多态
子类不能抛出比父类更多的异常<指的是范围>
发表于 2017-11-26 13:35:32 回复(0)
override(重写),一般用于实现接口,重写里面的方法,所以,override不能增加或改变方法的参数,而overload(重载),它体现了Java的多态性,可以改变方法参数的顺序,参数的个数,改变参数类型。它们都提高了代码的重用性。
发表于 2018-02-16 18:05:14 回复(0)
overload方法重载,是类多态性的表现,重载时,要求方法名必须相同,而参数列表(即参数的个数,类型,顺序)不同,
override方法重写,就是覆盖原来的方法,在父类和子类之间发生,子类在继承父类的方法时,方法的名称和参数列表都不能做修改,都是相同的,方法的修饰符得和父类一样,或者更宽,但不能用比父类作用范围更小的修饰符。
发表于 2018-01-02 11:47:43 回复(0)
Overload顾名思义是重新加载,它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数、类型、返回值但是函数名字依然不变。 Override顾名思义就是ride(重写)的意思,在子类继承父类的时候子类中可以定义某方法与其父类有相同的名称和参数,当子类在调用这一函数时自动调用子类的方法,而父类相当于被覆盖(重写)了。
发表于 2017-11-27 07:55:47 回复(0)