【初学者常见问题】重载

方法重载和方法重写是初学者最常见的问题之一。下面我将已例子的形式来解释这两个名词在Java中的区别(仅个人理解,大神们可以多多指点微笑

这里也要感谢老大对这一个问题的详细解答http://v.youku.com/v_show/id_XNjAwMTQwODIw.html

例:下面那几个方法是 public void method(){...}的重载方法?
A)public void method( int m){...}B)public int method(){...}
C) public void method2(){...} D)public int method(int m, float f ){...}

这种题大家在期末考试和笔试的时候经常会遇到,那我们就来看构成重载的条件

一、方法名称必须相同

二、方法返回值可以不同

三、方法的参数类型可以不同(参数的个数,参数的类型,参数的顺序)

依靠上面几个结论,我们看到A是方法的参数类型不同,B方法返回值不同(在Eclipse中不能被编译通过), C方法名称相同(错误),D是方法类型和返回值都不同

所以正确答案是AD

方法重载是用于一个类中对同一方法不同的修饰罢了,举个例子

public class Person {
	public void method(){
		System.out.println("This is method()");
	}
	//方法参数个数不同
	public void method(int age){
		System.out.println(age+"岁了");
	}
	//方法参数类型不同
	public void method(String name){
		System.out.println("她的名字叫:"+name);
	}
	public void method(String name,int age){
		System.out.println(name+"的岁数是"+age);
	}
	//方法参数顺序不同
	public void method(int age,String name){
		System.out.println(age+"岁的"+name);
	}
	public static void main(String[] args) {
		Person  mt = new Person();
		mt.method();
		mt.method(5);
		mt.method("Lina");
		mt.method("Jack", 8);
		mt.method(5, "Bob");
	}
}

注意:参数名字不同,不能算作参数不同

比如

public void method(int age){
		
}
public void method(int id){
		
}


方法重载的使用能够更好的保持程序的健壮性,这也是面向对象语言的一个重要特征之一。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值