首页 > 试题广场 >

在类Tester中定义方法如下, public double

[单选题]

在类Tester中定义方法如下,

public double max(int x, int y) { // 省略 }

则在该类中定义如下哪个方法头是对上述方法的重载(Overload)?

  • public int max(int a, int b) {}
  • public int max(double a, double b) {}
  • public double max(int x, int y) {}
  • private double max(int a, int b) {}
重载就是一句话:同名不同参,返回值无关。
覆盖/重写:同名同参
发表于 2017-09-01 22:01:02 回复(43)
更多回答
重载:同名不同参,返回值无关
发表于 2021-12-09 23:36:15 回复(0)
重载:同名不同参,返回值无关
发表于 2021-02-03 09:13:38 回复(0)
D项哪里错了?? 同名不同参数啊,跟访问权限无关,哪里错了???
编辑于 2018-05-07 08:28:06 回复(2)
重载与返回值无关,与参数有关,只要参数的个数或者类型不同即可
发表于 2017-05-16 10:20:16 回复(0)

Java 重载的规则:

1、必须具有不同的参数列表;

2、可以有不同的返回类型,只要参数列表不同就可以;

3、可以有不同的访问修饰符;

4、可以抛出不同的异常;

5、方法能够在一个类中或者在一个子类中被重载。


方法的重写:

1、在子类中可以根据需要对从基类中继承来的方法进行重写。

2、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。

3、重写方法不能使用比被重写的方法更严格的访问权限。

发表于 2017-05-14 21:00:24 回复(5)

重载:OverLoad

1  同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载 

2  参数列表不同指参数的类型,参数的个数,参数的顺序至少一项不同 

3   方法的返回值类型,方法的修饰符可以不同。 

重写:Override 

1.父类中被final修饰的方法不能被重写

2.子类的重写方法不能比父类的被重写方法有更严格的访问级别,但可以更广泛。也就是 子类覆盖方法的访问权限必须大于等于 父类被重写方法的访问权限

3.方法名必须一样

4.参数列表必须一样。

5.返回值类型必须一样

6.重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不抛出异常。 

7.如果一个方法不能被继承,则不能重写它。最典型的例子为,被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。

8.如果想调用父类被覆盖的方法,用super关键字调用


发表于 2017-10-12 17:47:18 回复(0)

重载(OverLoad):同名不同参,访问修饰、返回值可不同。

重写/覆盖(Override):同名同参同返回值,子类重写方法时访问修饰符要大于等于父类方法的访问修饰符。

发表于 2019-03-02 12:48:13 回复(0)
重写与重载的区别即辨认方法:
1、区别
(1)重载
    重载存在于同一个类中,指一个方法与已经存在的方法名称上相同,但是参数类型、个数、顺序至少有一个不同。 应该注意的是,返回值不同,其它都相同不算是重载。 重载有以下几个特点:
    1)被重载的方法可以改变返回类型;
    2)被重载的方法可以改变访问修饰符;
    3)被重载的方法可以声明新的或更广的检查异常;
    即重载的时候,方法的返回类型、访问修饰符、异常都可以变化且不受限制。
    4)被重载的方法必须改变参数列表(参数个数或类型不一样);
(2)重写
    重写发生在子父类之间,是子类对父类的允许访问的方法的实现过程进行重新编写, 形参不能改变。重写有以下几个特点:
    1)参数列表与被重写方法的参数列表必须完全相同;
    2)返回类型必须与重写的方法返回值相同或是其子类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同);
    3)访问权限必须大于等于重写的方法
    4)抛出的异常类型必须是重写的方法抛出异常类型或为其子类型。
    这里是可以总结为“一同两小一大”;
    重写有以下几点需要注意:
    1)构造方法不能被重写;
    2)声明为 final 的方法不能被重写,声明为 static 的方法不能被重写,但是能够被再次声明;
2、如何辨认重写与重载
    重载与重写的区别可以总结如下:
区别点 重载 重写
参数列表
必须不同 必须相同
返回类型 无限制 返回类型小于等于重写的方法
抛出异常 无限制 抛出异常必须是重写的方法抛出异常类型或为其子类型
访问权限 无限制 访问权限必须大于等于重写的方法
   辨别:同一个类中方法名相同,先看参数,参数类型、个数、顺序有一个不同就是重载;父类与子类方法名相同,先看参数,参数相同,且访问权限(大)、抛出异常(小)、返回类型(小)的情况都满足,则是重写。




发表于 2021-04-17 07:20:37 回复(0)
重写是要一样,重载不一样
发表于 2017-05-12 21:07:44 回复(0)
方法重载:方法名相同,参数列表不同(参数的个数,顺序,类型),与返回值无关!!
发表于 2018-12-13 09:37:44 回复(0)
返回值不同,形参名字不同 不算重载 。
发表于 2017-05-12 15:17:18 回复(0)
我来总结一下: 方法重载: 同名不同参, 返回值无关。 ①同名: 方法名必须相同 ②不同参: 形参列表必须不同 ③返回值无关: 有没有返回值完全看自己心情 方法重写: 三同一大一小 ①三同: 方法名相同,形参列表相同,返回值相同 ②一大: 重写后的方法访问权限必须大于重写前 ③一小: 抛出的异常范围必须小于重写前的异常范围
编辑于 2023-12-26 14:40:38 回复(0)
重载:  方法名称必须相同,参数类型数量必须不同。  与返回值和访问修饰符都无关。
看到acd参数列表都是 int x ,int y排除 ,只有b是double类型的
发表于 2022-09-02 10:41:34 回复(0)
容易记混这两个概念,记一遍用以加深印象。 重载(Overload) 1.重载是一个类中多态性的一种表现  2.重载要求同名方法的参数列表不同(参数类型,参数个数甚至是参数顺序)  3.重载的时候,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准 重写(Override) 1.发生在父类与子类之间 2.方法名,参数列表,返回类型(除过子类中方法的返回类型是父类中返回类型的子类。如父类返回Object,子类可以返回String或其他子类)必须相同 3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private) 4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常 面试时,问:重载(Overload)和重写(Override)的区别? 答:方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。 参考自https://blog.csdn.net/wintershii/article/details/80558739
发表于 2019-12-20 23:34:50 回复(1)
Java 重载的规则: 1、必须具有不同的参数列表; 2、可以有不同的返回类型,只要参数列表不同就可以; 3、可以有不同的访问修饰符; 4、可以抛出不同的异常; 5、方法能够在一个类中或者在一个子类中被重载。 方法的重写: 1、在子类中可以根据需要对从基类中继承来的方法进行重写。 2、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。 3、重写方法不能使用比被重写的方法更严格的访问权限。
发表于 2017-06-01 09:25:04 回复(0)
同名不同参,返回值无关
发表于 2024-02-18 12:23:47 回复(0)
重载:同名不同参(参数类型,个数或不同参数类型的顺序不同),返回值无关。
发表于 2023-09-17 09:28:01 回复(0)
重载:同名不同参,返回值无关 覆盖/重写:同名同参
发表于 2023-01-11 10:53:20 回复(0)
方法重载方法名必须相同,形参列表必须不同(个数,类型,排列),返回值可相同可不同
发表于 2022-09-21 23:14:22 回复(0)