重载就是一个类里面有多个同名的方法,访问修饰符相同,返回值相同,方法名相同,但参数列表不同。
那重载的方法怎么区分呢,对了,重载的方法根据参数的个数,或者参数的类型不同来区分
值得注意的是,仅仅方法的返回值不同不能叫重载,编译报错。
还有,尽管ref和out在运行时的处理方式不同,但是在编译时的处理方式却相同,因此,如果一个方法采用out参数,另一个方法采用ref参数,则无法重载这两个方法,会编译报错
下面来一个例子看看重载的使用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Demo
{
class Math
{
//第一个方法有两个参数,求AB的和
public static void Add(int a,int b)
{
Console.WriteLine(a+b);
}
//第二个方法有三个参数,求ABC的和
public static void Add(int a, int b,int c)
{
Console.WriteLine(a + b + c);
}
}
}
在main方法中重载Add方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
//调用两个参数的Add方法
Math.Add(1,5);
//调用三个参数的Add方法,重载了Add方法
Math.Add(1, 5, 7);
}
}
}