首页 > 试题广场 >

在Java中,以下关于方法重载和方法重写描述正确的是?

[单选题]
在Java中,以下关于方法重载和方法重写描述正确的是?
  • 方法重载和方法的重写实现的功能相同
  • 方法重载出现在父子关系中,方法重写是在同一类中
  • 方法重载的返回值类型必须一致,参数项必须不同
  • 方法重写的返回值类型必须相同或相容。(或是其子类)
推荐
方法重载的返回值的类型可以不同,因为判断方法重载的方法主要是根据方法的参数不同来判定;方法重写的返回值类型需要相同,重写就是子类继承了父类的方法,并在此方法上重写属于自己的特征,既然是继承过来的,那么它的返回值类型就必须要相同
编辑于 2015-02-03 10:59:57 回复(15)
public class TTTTT extends SuperC{
	public String get(){
		return null;
	}
}
class SuperC{
	Object get(){
		return null;
	}
}

方法重载(overload):
1.必须是同一个类
2方法名(也可以叫函数)一样
3参数类型不一样或参数数量不一样

方法的重写(override)两同两小一大原则:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。
编辑于 2015-11-05 09:54:45 回复(7)
方法重载:同一类中的相同的方法名,参数和返回值均可不同。
方法重写:之类对父类已经实现的方法重新定义。
发表于 2015-04-01 11:12:05 回复(4)

解析:正确答案为D.重载是发生在同一个类中,方法名相同,参数列表不同的方法,为的是在处理不同的数据类型时,为调用者提供了一个同意的入口。重载遵循编译期绑定。

重写是指,子类中的方法与父类的方法方法签名相同。从而覆盖父类中的方法的现象。重写是多态的基础,通过重写,子类可以表现出与父类不同的行为。重写时要,遵循“两同两小一大”的原则,即:方法名相同,参数列表相同,返回值类型要小于或等于父类,抛出的异常要小于或等于父类,访问权限要大于等于父类。

发表于 2017-09-01 22:05:09 回复(0)
对于方法重载:单纯的返回值改变是不允许的,虚拟机将找不到两个方法的差异。可以只修改参数项或同时修改参数项和返回值项。
发表于 2016-07-15 13:16:03 回复(0)
重载方法就是在同一个类中,有多个同名的方法,以参数不一致标致此方法属于重载,至于返回值是不能作为重载的标示,返回值可以一致也可以不一致,跟重载没关系.如方法名相同,参数相同,返回值不一样编译器无法通过直接报红.
重写就是子类与父类之间的同一个方法名的不同逻辑实现,当然要保证方法名和参数一致,且子类的返回值,参数,抛出异常的范围要大于父类的返回值,参数,抛出异常范围.
发表于 2015-03-07 11:19:10 回复(1)
重载参数必须不一致, 而返回值类型没有规定必须不同
发表于 2015-02-24 13:13:15 回复(0)
在一个类中出现方法名相同,但参数列表不同时,这种情况就是重载。
发表于 2014-11-21 17:34:34 回复(0)
方法重载和方法重写(覆盖)的区别? 
(1)相同点: 
①方法名称相同。 
②都属于多态机制。
(2)不同点:位置、参数列表、权限修饰符、返回值类型、抛出异常不同。
重载(overload):发生在同一个类中,方法名相同,参数列表不同,与权限修饰、返回值类型、抛出异常无关。
重写(override): 发生在继承类中,方法名和参数列表相同,权限修饰符大于等于父类、返回值类型小于等于父类、抛出异常小于等于父类。

发表于 2019-08-28 08:53:03 回复(0)
1.方法签名:是方法名和方法的一堆参数
2.关于方法重载和方法重写的基本概念
  1)方法重载:单纯的修改返回值类型不可以,因为JVM找不到两个方法的差异,
亲测在编译期不能通过可以只改变参数项或者同时改变参数项和返回值类型  2)方法重写:对父类方法进行重写,需要遵循两同两小一大原则
方法名相同,参数项(类型,参数个数)相同
返回值小于父类,相同或者相容,可以是父类返回值的子类
抛出异常小于父类异常
访问权限大于父类访问权限

答案解析:
A明显错,B说反了,c返回值类型可以不同

编辑于 2018-07-20 11:10:22 回复(2)
这篇文章覆盖了所有重载和重写的特点和细节,保证大家收益。推荐给大家https://blog.csdn.net/m0_57487901/article/details/121777474?spm=1001.2014.3001.5501
发表于 2021-12-10 10:11:27 回复(0)
发表于 2022-11-10 10:49:09 回复(0)
方法的重载要求:(方法名必须一样, 方法签名必须不同)

方法名必须一样

参数表必须不同(数目或者类型不同)

返回类型、修饰符可以相同也可以不同。

 

方法的重写:   方法的签名必须一样(方法名必须一样,参数保持一致)并且返回类型、访问权限、抛出的异常都有限制

       返回类型小于等于父类的返回类型

       子类抛出的异常小于等于父类方法抛出的异常

       子类方法的访问权限不得小于父类方法的访问权限

发表于 2016-12-06 22:20:45 回复(0)
方法重载:就是在同一个类中,方法的名字相同,但参数个数、参数的类型或返回值类型不同!
方法重写:它是指子类和父类的关系,子类重写了父类的方法,但方法名、参数类型、参数个数必须相同!
发表于 2015-07-06 20:44:19 回复(0)
重载和重写记反了,汉。。
重载:同一类中多个方法,同名不同参数
重写:子类覆盖父类的同名同参方法
发表于 2015-06-21 19:37:45 回复(0)
不会JAVA,感觉JAVA重写就是C++覆盖,JAVA重载就是C++重载。。。 。。。
发表于 2015-03-05 10:42:58 回复(1)
重载: 必须在同一个类中; 方法名必须相同; 参数列表不同(可以是参数个数不同,也可以是参数类型不同) 重写: 子类继承父类,子类重写父类的方法,要求子类方法的 返回值类型 方法名(参数列表)与父类一致,子类方法修饰符权限不能小于父类方法修饰符权限
发表于 2022-10-24 11:23:47 回复(0)
重载(overload)和重写(override)的区别:
1.重载就是同一个类中,有多个方法名相同,但参数列表不同(包括参数个数和参数类型),与返回值无关,与权限修饰符也无关。
2.调用重载的方法时通过传递给它们不同的参数个数和参数类型来决定具体使用哪个方法,这叫多态
3.重写就是子类重写基类的方法,方法名,参数列表和返回值都必须相同,否则就不是重写而是重载。
权限修饰符不能小于被重写方法的修饰符。重写方法不能抛出新的异常或者是比被重写方法声明更加宽泛的检查型异常。
编辑于 2020-09-17 09:26:01 回复(0)
  1. 方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。

  2. 方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。

  3. 方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。

发表于 2023-10-21 21:33:38 回复(0)
重载:两同一不同 两同:同一个类、相同的方法名
      一不同:参数列表不同。① 参数个数不同 ② 参数类型不同(包括形参列表的顺序)
      注意:方法的重载与形参的名、权限修饰符、返回值类型都没有关系。
      
重写:两同两小一大原则 两同:方法名、形参列表相同;
     两小:子类方法返回值类型、抛出异常的类型更小或相等;
     一大:访问权限更大或相等。
     注意:继承以后,子类覆盖父类中同名同参数的方法
发表于 2023-07-20 21:10:49 回复(0)
方法名相同,参数类型相同
发表于 2023-06-14 16:23:16 回复(0)