java方法重载问题

我知道方法重载的定义是:方法名相同,参数项不同,参数的类型或个数不能相同。
怎么去理解这两题?
把每一个选项分析一下吧。初学者不好懂。

方法重载是指在一个类中定义多个同名的方法,但要求个方法具有不同的参数的类型或参数的个数, 但是和返回值无关。


第一题:答案是A和C。

A的参数与题目给出的参数类型不一样 题目中是int z 而A的答案中是float z.

C的参数个数与题目中给出的不一样.

所以A和C是对题目中cal方法的重载.


B和D之所以不是重载是因为参数个数和类型与题目给出的完全一致.



第二题:答案是 A和C.

原因都是因为参数个数不一样.

B和D之所以错误的是因为参数个数类型一致.


其实方法重载判断的重点很简单.

    方法名要一样.

    参数个数不一样或者参数类型不一样.

    3.返回类型与重载没有什么关系的

追问

别的回答者说:
【补充:一个类里面是不允许方法名一样,方法返回类型不一样的两个方法存在,你可以试一下,是会报错的。】

和你说的不一样,能解释一下么

追答

方法名一样,返回类型不一样,那参数呢
参数不一样不会报错
参数一样就会报错
有什么问题。

而且的回答里面都是在描述重载的概念,也没有哪边暗示了 一个类里面允许方法名一样,方法返回类型不一样,参数一样却可以编译通过。

追问

我试了,可以通过

追答

肯定可以, 这就是重载。

你要了解重载的概念啊。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-29
1 a
2 ac
重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的参数列表不同,Java就会将它们看做唯一的方法。
简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。
重载只看参数个数和类型,不看返回值。 但不能出现只是返回值不同的重载。
第2个回答  2014-08-29
重载的定义是:方法名相同,方法返回的类型也要相同,参数个数或类型不同。

5、答案:C
a. 返回类型不同,不对
b.同上
c.参数格式不一样,对的
d.参数名字不一样,没有意义。不对

6、答案 A
a.参数个数不一样,对的
b.返回类型不同,不对
c.同上
d.参数名字不一样,没有意义。不对

补充:一个类里面是不允许方法名一样,方法返回类型不一样的两个方法存在,你可以试一下,是会报错的。追问

这是我们课件上讲的:与返回值类型无关

我试了,可以通过

追答

我说的是两个方法如果方法名一样返回值类型就必须一样

第3个回答  2014-08-29
一.方法名一定要相同。
二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
1.如果参数个数不同,就不管它的参数类型了!
2.如果参数个数相同,那么参数的类型或者参数的顺序必须不同。
三.方法的返回类型、修饰符可以相同,也可不同。
第4个回答  2014-08-29
5:a c-------------b错误:虽然返回值不一样,但是参数都是int,3个。 d错误:参数个数类型相同,都是int,3个, 虽然参数的名字不一样,但是重载必须是 参数类型不同或参数个数不同。
6:a c。----------------b错误:参数类型int, 个数1个,相同了,不能算重载 d错误:参数个数、类型、返回值都一样
相似回答