JAVA学习.方法的重载的理解

package ljy.overload;
/**
 * 
 */

/**
 * @author fshxxxyydys
 *
 */
public class overloadMethod { //方法重载
	
	//JAVA只支持方法重载,不支持符号重载
	//在传统的语言中,方法名称不能重复,优秀的方法名资源
	//只能被使用一次,很是遗憾,程序员必须花费额外的时间
	//去费尽心机思考替代的方法名。
	//在现代的编程语言,比如JAVA,支持方法名的重复使用,
	//这种语法现象叫做方法名的重载,但是有一定的约束条件。
	//1.参数的数量不同。
	//2.参数的数量相同,参数的数据类型也要略有不同
	//3.参数名、返回值以及访问修饰符均不作为考量的尺度。
	
	//重载失败就会构成重名(duplicate method)
	
	//重载给我们带来了超级方法和智能方法
	
	//本质上:根本不存在方法的重载 在编译器编译的时候将
	//所谓的重载的方法的名称全部改掉了,虽然这样但是我们
	//享受到了所谓的“重载”所带来的乐趣和便利。
	int add(int a,int b){    //编译器:add_int_int
		
		return a + b;
	}
	
	double add(int a,double b){ //编译器:add_int_double
		
		return a + b;
		
	}
	int add(int a,int b,int c){ //编译器:add_int_int_int
		
		return a + b+ c;
	}
	
    //重名
	//private void add(int c,int d){
	//		
	//					return c + d;
	//}
	
	double add(double a,double b){ //编译器:add_double_double
		
		return a + b;
	}
	
	//不定参数,m不在是普通的整型变量,而是一个整型数组的名称
	//一个方法中的不定参数只能有一个,而且必须是该方法参数列表的最后一个
	double add(double a, int ... m ){
		
		double sum = a;
		
		for(int x:m)
			sum += x;
		return  sum; 
	}	
}


/**
 * 
 */
package ljy.overload;

/**
 * @author fshxxxyydys
 *
 */
public class Tester {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		overloadMethod om = new overloadMethod();
		//智能:根据传入参数的样式,选则合适的方法进行调用
		//System.out.println();就是一个最典型的例子,几乎
		//你放进去的东西都可以被打印,因为一个方法名下有
		//十几个函数在支持者它,所以你觉得它功能强大。
		System.out.println(om.add(1, 2));
		System.out.println(om.add(1, 2.0));
		System.out.println(om.add(5.0, 2.0));
		System.out.println(om.add(1, 2,3));
		
		//第一个数是double型的,剩余的整型可以无限添加
		System.out.println(om.add(1.8,1,2,3,4,5,6,7));
		
	}
}

===============================================================

Result:

3
3.0
7.0
6
29.8

===============================================================


原创出处:http://blog.csdn.net/u012830807

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值