Java 关于重载的那点问题

什么是重载???

类的同一种功能有多种实现方式,到底采用哪种实现方式,取决于给定的参数。

重载方法必须满足以下条件:
1、方法名相同。
2、方法的参数类型、个数、顺序至少有一项不相同。
3、方法的返回类型可以不相同。

4、方法的修饰符可以不相同。

下面以一道题来加深一下大家的理解,若你能全部想明白那么,基本上重载这件小事也就不足畏惧了!

题:以下Sample类中已经定义了一个amethod()方法:
public class Sample{
public void amethod(int i, String s){}
//加入其他方法
}
下面哪些方法可以加入到Sample类中,并且保证编译正确呢?
A)public void amethod(String s, int i){} //可以
B)public int amethod(int i, String s){return 0;} //不可以
C)private void amethod(int i, String mystring){} //不可以
D)public void Amethod(int i, String s) {} //可以
E)abstract void amethod(int i); //不可以

想明白为什么了吗?简要说明一下为什么B和E不可以吧。

对于B来说,只有返回值不一样,一个是void,一个是int,而编译器在编译的时候只看方法名和参数,所以两者在编译的时候会冲突的,故不可以。

对于D来说因为抽象方法必须只能定义在抽象类里,所以同样错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值