首页 > 试题广场 >

重载和重写的区别?相同参数不同返回值能重载吗?

[问答题]
请说明重载和重写的区别,相同参数不同返回值能重载吗?
重写是针对父类和子类的概念,重载是针对一个类中的概念;相同参数不同返回值不可以重载,因为重载必须改变参数列表(否则,虚拟机怎么知道该调用哪一个方法)
发表于 2019-02-13 22:22:15 回复(0)

重载:

  1. 在同一个类中,方法名相同,但 参数的类型,个数,或 顺序不同;

  2. 重载方法的返回值 和 权限修饰符可以相同也可以不同;

  3. 重载发生在编译时。

重写:

  1. 即指子类重写父类的方法,返回值类型、方法名、参数列表 都必须一样;

  2. 子类重写方法的 抛出异常的范围 必须小于等于 父类中被重写的方法;

  3. 子类重写方法的 权限修饰符范围 必须大于等于 父类中被重写的方法;

  4. 若父类中的方法的权限修饰符为 private,那子类就不能重写该方法;

注意: 构造器不能被重写,但是可以重载。

发表于 2020-07-18 13:25:06 回复(0)
1.重载:重载表示在同一个类中有多个名称相同的方法,参数列表各不相同。
2.重写:重写表示子类中的方法可以与父类的某个方法相同,参数列表也相同。
3.相同参数返回值不同不可以进行重载。
发表于 2020-02-28 12:07:49 回复(0)
overload表示重载,同一类中多态的一种表现形式,返回值可以相同也可以不同,不能根据返回值类型作为区分重载函数的区分标准, override表示重写,子类继承父类,拥有父类的属性和方法但有时候子类并不想原封不动的继承父类中的方法,而是需要做一定的修改,这时候就要重写,重写的方***覆盖之前方法
发表于 2019-05-05 13:26:28 回复(0)
相同点:方法的重载和重写都是实现多态的方式
不同点:
1,重写必须继承,重载不用,
2,重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不同。
3,重写的方法修饰符大于等于父类的方法,重载和修饰符无关。
4,重写不可以抛出父类没有抛出的一般异常,可以抛出运行时异常。
相同参数不同返回值不可以重载。
发表于 2019-04-25 23:00:24 回复(0)
重载和重写的区别啊,重载是是发生在同一个类中的,比如说某一个类里编写了两个方法,方法名一样方法参数列表不一样。重写的话是发生在父子类之间的。比如说子类继承了父类,可以覆盖父类的方法。相同的参数不同转为只能重载吗?是不能的
发表于 2020-05-19 22:53:08 回复(0)
重载:同名不同参。重写,子类重写父类的方法
发表于 2019-05-10 23:02:58 回复(0)
重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同。它是一个类中多态性的一种表现。返回值类型可以相同也可以不相同,无法以返回型别作为重载函数的区分标准。 重写Override:在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。
编辑于 2019-04-28 23:13:09 回复(0)
overload表示重载,同一类中多态的一种表现形式,返回值可以相同也可以不同,不能根据返回值类型作为区分重载函数的区分标准, override表示重写,子类继承父类,拥有父类的属性和方法但有时候子类并不想原封不动的继承父类中的方法,而是需要做一定的修改,这时候就要重写,重写的方***覆盖之前方法
发表于 2019-04-26 22:50:20 回复(0)
相同参数不同返回值是不能重载的
发表于 2019-04-26 21:05:46 回复(0)
方法重载是指同一个类中的多个方法具有相同的名字
方法重写也叫子类的方法覆盖父类的方法,要求返回值、方法名和参数都相同。
相同参数不同返回值不可以重载。

发表于 2019-04-25 21:17:11 回复(0)
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。
发表于 2019-04-25 20:15:36 回复(0)
1,重写必须继承,重载不用,
2,重写的方法名,参数数目相同,参数类型兼容,重载的方法名相同,参数列表不同。
3,重写的方法修饰符大于等于父类的方法,重载和修饰符无关。
4,重写不可以抛出父类没有抛出的一般异常,可以抛出运行时异常。
相同参数不同返回值不可以重载。
发表于 2019-04-25 18:45:32 回复(0)
重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。
覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。
函数重载只看参数个数和类型,不看返回值
发表于 2019-04-25 18:32:21 回复(0)
重写需要继承而重载不需要,重写要求子类和父类中的方法完全保持一致,重载只需要方法名称相同而参数不同(个数、类型、顺序)
发表于 2019-04-25 17:52:48 回复(0)
重载和重写的区别.相同参数不同返回值能重载吗?
重载发生的条件:
同一类中,不同的方法具有相同的方法名,返回值类型,和不同的参数列表.
重写:在具有继承关系的子父类中,如果子类有与父类方法名,返回值类型,参数列表完全相同的方法,则子类的方***将父类的方法重写.
相同参数不同返回值不能重载.
发表于 2019-04-11 20:51:10 回复(0)
重写:一个类是继承一个父类时,从父类那儿继承来的方法,进行重新写过。
重载:多个同名方法,名称相同,但是参数不同,可以通过参数来识别调用的是哪一个方法。
相同参数不同返回值不可以重载。
发表于 2019-04-01 16:02:35 回复(0)