社区
Java SE
帖子详情
一个java重载题,求解
wangtengkl
2010-04-17 07:07:09
.指出下列哪个方法与方法public void add(int a){}为合理的重载方法。
A public int add(int a)
B public void add(long a)
C public void add(int a,int b)
D public void add(float a)
B 为什么不是啊?
...全文
139
16
打赏
收藏
一个java重载题,求解
.指出下列哪个方法与方法public void add(int a){}为合理的重载方法。 A public int add(int a) B public void add(long a) C public void add(int a,int b) D public void add(float a) B 为什么不是啊?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qjtttt
2010-04-17
打赏
举报
回复
要说合理,明显是C,第一个改返回类型作为重载并不合理
其他两个都是加大了参数的宽度,但是从方法适用范围来说其他两个都完全包含了原题的方法,所以不合理
C改变了参数列表,需要两个参数,相对比较合理
这题目很莫名其妙
A
public int add(int a) {
a++;
return 0;
}
B
public void add(long a){
a++;
}
C
public void add(int a,int b){
a++;
}
D
public void add(float a){
a++;
}
原题
public void add(int a){
a++;
}
没什么太大的区别,唯一不同的也就是float那个方法内部的a是float如果直接输出结果是带.0的罢了
zhushoujun
2010-04-17
打赏
举报
回复
学习学习
张志备
2010-04-17
打赏
举报
回复
重载方法的定义是:方法名相同,参数类型或者参数个数不同称为方法重载,另外,返回值的异同并不能作为方法重载判断的依据。
综上可见,在方法名相同的前提下,参数类型和参数个数才是决定该方法是否为重载的关键。
所以现在重新来看上面的问题,不难看出,除了A,其实BCD都是原来方法的重载
一己之见,欢迎拍砖。
lonefeifei
2010-04-17
打赏
举报
回复
[Quote=引用 3 楼 justlearn 的回复:]
引用 2 楼 zfq642773391 的回复:
重载一般不要以返回值来区分,因为这样会造成程序的不稳定和可读性差,所以A不行
区分重载最简单的规则:每个重载的方法都必须有一个独一无二的参数列表,D选项肯定是重载的了
至于B,int 和long虽然是不同的类型,但都是整形,虽不能说不是重载,但如果只选一个,还是D更接近
为什么你不认为c是?我倒觉得后3个都是,要说最合理还是c了
[/Quote]
我也认为是C,嘿嘿
groovy2007
2010-04-17
打赏
举报
回复
b、c、d从语法上讲都是对的。但是c最好。
因为B和D容易引起混乱。
比如
short s=1;
double d=1.5;
add(s); //add(int), add(long), add(float) ?
add(d); //add(int), add(long), add(float) ?
notlogin
2010-04-17
打赏
举报
回复
刚查了下资料,说重载可以改变返回值。
但是没说,“只要返回值改变,就是重载”。所以对于重载方法来说,只改其变返回值,而不改变参数是不行的,编译报错。
以前做项目也不太常用重载,没注意这方面。
zfq642773391
2010-04-17
打赏
举报
回复
[Quote=引用 9 楼 notlogin 的回复:]
引用 8 楼 zfq642773391 的回复:
引用 6 楼 notlogin 的回复:
A不是重载,参数类型看错了
A是重载,他是以返回值来辨认的,只不过,以返回值来区分重载不是太好,不推荐使用
理论上说是的,但是编译器不会让你通过的,直接报错。
[/Quote]
哦
notlogin
2010-04-17
打赏
举报
回复
[Quote=引用 8 楼 zfq642773391 的回复:]
引用 6 楼 notlogin 的回复:
A不是重载,参数类型看错了
A是重载,他是以返回值来辨认的,只不过,以返回值来区分重载不是太好,不推荐使用
[/Quote]
理论上说是的,但是编译器不会让你通过的,直接报错。
zfq642773391
2010-04-17
打赏
举报
回复
[Quote=引用 6 楼 notlogin 的回复:]
A不是重载,参数类型看错了
[/Quote]
A是重载,他是以返回值来辨认的,只不过,以返回值来区分重载不是太好,不推荐使用
zfq642773391
2010-04-17
打赏
举报
回复
[Quote=引用 3 楼 justlearn 的回复:]
引用 2 楼 zfq642773391 的回复:
重载一般不要以返回值来区分,因为这样会造成程序的不稳定和可读性差,所以A不行
区分重载最简单的规则:每个重载的方法都必须有一个独一无二的参数列表,D选项肯定是重载的了
至于B,int 和long虽然是不同的类型,但都是整形,虽不能说不是重载,但如果只选一个,还是D更接近
为什么你不认为c是?我倒觉得后3个都是,要说最合理还是c了
[/Quote]
我错了 应该是c最合理,怎么说呢,这几个选项都是重载,只不过..
这题真艮。。。
notlogin
2010-04-17
打赏
举报
回复
A不是重载,参数类型看错了
qydcx7044862
2010-04-17
打赏
举报
回复
呵呵,primitive可以被自动的从占用较小存贮空间的数据类型转换到较大的,
notlogin
2010-04-17
打赏
举报
回复
[Quote=引用 2 楼 zfq642773391 的回复:]
重载一般不要以返回值来区分,因为这样会造成程序的不稳定和可读性差,所以A不行
区分重载最简单的规则:每个重载的方法都必须有一个独一无二的参数列表,D选项肯定是重载的了
至于B,int 和long虽然是不同的类型,但都是整形,虽不能说不是重载,但如果只选一个,还是D更接近
[/Quote]
说的非常对
但是这道题考的…………怎么说呢…………“合理的重载方法”,什么叫“合理”?你的“合理”跟我的“合理”是同一个范围吗? ABCD是重载方法肯定没错,问题就在让人蛋疼的“合理”两个字上。。。。。
至于B和原题的方法,只要传递的变量类型正确,程序完全可以正确运行。
justlearn
2010-04-17
打赏
举报
回复
[Quote=引用 2 楼 zfq642773391 的回复:]
重载一般不要以返回值来区分,因为这样会造成程序的不稳定和可读性差,所以A不行
区分重载最简单的规则:每个重载的方法都必须有一个独一无二的参数列表,D选项肯定是重载的了
至于B,int 和long虽然是不同的类型,但都是整形,虽不能说不是重载,但如果只选一个,还是D更接近
[/Quote]
为什么你不认为c是?我倒觉得后3个都是,要说最合理还是c了
zfq642773391
2010-04-17
打赏
举报
回复
重载一般不要以返回值来区分,因为这样会造成程序的不稳定和可读性差,所以A不行
区分重载最简单的规则:每个重载的方法都必须有一个独一无二的参数列表,D选项肯定是重载的了
至于B,int 和long虽然是不同的类型,但都是整形,虽不能说不是重载,但如果只选一个,还是D更接近
notlogin
2010-04-17
打赏
举报
回复
B不是么 如果B不是,D也不是
重载的定义就是方法名相同,然后 只要返回值类型、参数类型、参数个数,三者其中之一不同,就是重载函数
Java
重载
(什么是
重载
?什么时候
重载
?
重载
有什么好处?)
本文围绕
Java
中的方法
重载
展开。介绍了
重载
的来源,即面对不同类型数据求和等需求,可通过
重载
解决;说明了
重载
要求,如方法名和作用域相同、参数不同;还阐述了
重载
优点,定义端和调用端可用相同方法名实现不同功能,体现多态性。
Java
——
重载
本文深入探讨了
Java
中的方法
重载
概念,包括其实现方式、条件及优点,并通过实例展示了如何利用
重载
来提高代码的可读性和灵活性。
什么叫
java
方法
重载
?
本文详细解释了
Java
中的方法
重载
概念,包括如何在同
一个
类中定义多个同名但参数不同的方法,以及
Java
编译器如何根据参数类型和数量选择合适的方法。通过实例展示了不同类型参数的
重载
方法如何工作。
java
中函数的
重载
_
Java
中函数的
重载
本文深入解析
Java
中函数
重载
的概念,涵盖不同参数类型、数量的
重载
示例,并讨论了
Java
的编译时确定性如何确保正确调用。通过实例演示,展示了如何在类中利用
重载
实现多态性,以及
重载
与重写、方法传递的区别。
java
中
重载
一定在
一个
类里面吗?
本文详细解析了面向对象编程中的
重载
(Overload)与覆盖(Override)概念,通过具体的
Java
代码示例,阐述了两者的基本定义及区别,并提供了判断方法。
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章