面向对象方法的重载(overloading)和覆盖(overriding)。
在有些JAVA书籍中将overriding称为重载,overloading称为过载。
Overloading在一个类中可以定义多个同名方法,各个方法的参数表一定不同。但修饰词可能相同,返回值也可能相同。
在程序的编译过程中根据变量类型来找相应的方法。因此也有人认为 overloading是编译时的多态,以后我们还会学到运行时多态。
为什么会存在overloading技术呢?作为应对方法的细节。
利用类型的差异来影响对方法的调用。
吃()可以分为吃肉,吃菜,吃药,在一个类中可以定义多个吃方法。
1 package TomText; 2 3 public class TomText_09 { 4 /* 5 * 求n之前的奇数的和 6 */ 7 public int sumOfOdd(int n){ 8 9 int j = 0; //奇数 10 int sum = 0; //n之前的奇数的和 11 int m = (n+1)/2; //n之前的奇数的个数 12 13 for(int i=0;i<m;i++){ 14 15 j = 2*i+1; //第i+1个奇数的值,i初始为0 16 sum += j; //计算n之前的奇数的和 17 } 18 return sum; 19 } 20 public static void main(String[] args) { 21 TomText_09 t=new TomText_09(); 22 int n=t.sumOfOdd(10); 23 System.out.println(n); 24 } 25 26 }