首页 > 试题广场 >

将以下哪种方法插入行3是不合法的。

[单选题]
类Test1定义如下:
public class Test1{//1
    public float aMethod(float a,float b){}//2 
    //3
}//4
将以下哪种方法插入行3是不合法的。
  • public int aMethod(int a,int b){}
  • private float aMethod(int a,int b,int c){}
  • public float aMethod(float a,float b){}
  • public float aMethod(float a,float b,float c){}
推荐
答案:C
关于方法的重载: 方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数不同的方法。

方法重载具体规范

       一.方法名一定要相同。

二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。

三.方法的返回类型、修饰符可以相同,也可不同。


编辑于 2016-05-27 11:51:28 回复(0)

重载的概念是:
方法名称相同,参数个数、次序、类型不同
因此重载对返回值没有要求,可以相同,也可以不同
但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载。

此题出的不是很好,没有考察到返回类型是否起到对重载有作用的考察,建议将C选项改为:public int aMethod(float a,float b){}

发表于 2017-07-08 15:21:34 回复(1)
重复了。。。。同是public float aMethod(float a,float b){}
发表于 2015-10-10 10:59:06 回复(1)
c
java中不能定义方法名,参数个数与类型,完全相同的方法。
方法签名=方法名+参数(个数及类型),但不包括方法返回值
即java中不能定义方法签名相同的方法
发表于 2015-10-10 14:22:35 回复(0)

关于方法重载记住一句话就可以“同名不同参”

发表于 2017-03-10 14:06:29 回复(0)
java中方法的重载就两个要求:同名不同参。至于方法的修饰符,返回值类型等与重载都没有关系

发表于 2015-10-28 19:10:15 回复(0)
C  不能构成重载
发表于 2015-10-10 14:07:11 回复(0)
重载只考虑方法名相同时参数列表是否不同
发表于 2021-12-18 12:55:31 回复(0)
区分重载和重写:重载是必须有不同的参数列表,访问修饰符可以不同,返回值类型可以不同,抛出异常可以不同,可以在同类可以在子类
重写:遵循两同两小一大原则:方法名和参数列表必须相同,子类返回类型以及子列抛出异常小于等于父类,子类的访问修饰符大于等于父类,重写只能在子类中。
发表于 2017-07-17 20:07:24 回复(0)
如果考重载的话是c, 但是这题方法的定义就不对,返回值有了,但是return在哪???
发表于 2017-03-11 22:49:15 回复(0)
方法重载:方法名一定要相同,方法的参数数量,类型一定不同,方法的修饰符返回值无所谓,可相同可不同
发表于 2016-09-04 18:30:51 回复(0)
方法重载具体规范

       一.方法名一定要相同。

二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。

三.方法的返回类型、修饰符可以相同,也可不同。

发表于 2016-07-27 12:36:40 回复(1)
C  publicfloataMethod(floata,floatb){} 。 
一个类中如果有2个相同方法名的方法,那么他们2着必须有着一定的区别。
要么是返回参数不相同,要么是传入参数不同。
而C和类中已有的方法完全一样,这违背了相应的规则,会导致调用该类的aMethod方法是无法识别到底是调用那个方法。
发表于 2015-10-13 15:45:39 回复(0)
c
方法的重载,要求方法名不变,参数列表发生变化,c重复了,其余的都实现了方法的重载
发表于 2015-10-11 17:07:13 回复(0)
重写 权限修饰符号大于等于,返回小于等于,抛出异常类小于等于, 重载,形参只要有不一样即可,其他无要求
发表于 2024-11-09 10:37:47 回复(0)
一个类中,方法命名相同必须要构成重载。即参数列表不同。
发表于 2024-04-27 00:23:20 回复(0)
首先,在同一个方法中并且方法名相同,定义为重载,再看其他规则。
1在此基础上,查看参数列表是否相同(数据类型,个数)
2与返回值无关:因为若只有返回值不同,其他都相同,编译器会分不清你想返回哪个

总之,重载就是为了区分同名方法的不同。如果对于两个同名的方法,编译器分不清该调用那个,那他就不符合重载规则,一切都建立在让编译器能够分清
明白这点就能够理解重载规则了
发表于 2024-03-23 13:49:29 回复(0)
ABD选项中的三个方法都可以构成重载,唯独C选项无法构成重载,因为重载与方法名和参数列表有关
发表于 2022-10-22 11:40:26 回复(0)
方法重载的方法名要相同,方法参数类型和参数个数不同
发表于 2022-09-26 15:27:06 回复(0)
重载:同名不同参,与返回值无关,一个类中 重写:名字 参数 返回 一定要相同.子类和父类 且修饰符子类<父类 异常子类<父类
发表于 2022-07-01 00:41:39 回复(0)
考察的方法的重载:方法重载具体规范。
 一.方法名一定要相同。

二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。

三.方法的返回类型、修饰符可以相同,也可不同。
答案c: public float aMethod(float a,float b){}
与Test类中的方法一样没有构成方法重载,因此编译器会报异常

编辑于 2022-01-31 20:43:17 回复(0)