面向对象方法的重载(overloading)和覆盖(overriding)

面向对象方法的重载(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 }
原文地址:https://www.cnblogs.com/borter/p/9418521.html