方法重载Overload和方法重写Override的区别;Overloaded的方法是否可以改变返回值的类型。

方法重载:在同一个类中,允许方法名称必须相同,但是方法的参数必须不同,返回值的类型也是可以改变的。

方法 的重载解决:功能相同,参数不同,就不需要在定义多个方法名称。

方法重写:在不同类中,两者属于子类和父类的关系;在子类中定义某方法与其父类有相同的名称和参数, 我们说该方法被重写 (Overriding)。 子类的对象使用这个方法时, 将调用子类中的定义, 对它而言, 父类中的定义如同被"屏蔽"了。

 

二者不同点:

1、方法的重写Overriding和重载Overloading是Java多态性的不同表现。

2、重写Overriding是父类与子类之间多态性的一种表现, 重载Overloading是一个类中多态性的一种表现。

3、方法重写:在子类中定义某方法与其父类有相同的名称和参数, 我们说该方法被重写 (Overriding)。 子类的对象使用这个方法时, 将调用子类中的定义, 对它而言, 父类中的定义如同被"屏蔽"了。

4、方法重载:在一个类中定义了多个同名的方法, 它们或有不同的参数个数或有不同的参数类型, 则称为方法的重载(Overloading)。 Overloaded的方法是可以改变返回值的类型。



 

你可能感兴趣的:(java面试题,java基础语法)