A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大牛1 中级黑马   /  2016-5-29 11:18  /  286 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*
  2.         需求:我要求数的和
  3.        
  4.         我们的需求不断的发生改变,我们就对应的提供了多个求和的方法。
  5.         但是呢,他们的名字是不一样的。
  6.         而我们又要求方法命名做到:见名知意。
  7.         但是,很明显,现在没有做到。
  8.         那么,肿么办呢?
  9.         针对这种情况:方法的功能相同,参数列表不同的情况,为了见名知意,Java允许它们起一样的名字。
  10.        
  11.         其实,这种情况有一个专业名词:方法重载。
  12.        
  13.         方法重载:
  14.                 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
  15.                
  16.                 参数列表不同:
  17.                         A:参数个数不同
  18.                         B:参数类型不同
  19.                         C:参数个数及其类型不变,只改变参数的顺序,也是可以的。
  20. */
  21. class FunctionDemo4 {
  22.         public static void main(String[] args) {
  23.                 //jvm会根据不同的参数去调用不同的功能
  24.                 System.out.println(sum(10,20));
  25.                 System.out.println(sum(10,20,30));
  26.                 System.out.println(sum(10,20,30,40));
  27.                
  28.                 System.out.println(sum(10.5f,20f));
  29.         }
  30.        
  31.         //需求1:求两个数的和
  32.         public static int sum(int a,int b) {
  33.                 System.out.println("int");
  34.                 return a + b;
  35.         }
  36.        
  37.         //需求2:求三数的和
  38.         /*
  39.         public static int sum1(int a,int b,int c) {
  40.                 return a + b + c;
  41.         }
  42.         */
  43.        
  44.         public static int sum(int a,int b,int c) {
  45.                 return a + b + c;
  46.         }
  47.        
  48.         //需求3:求四个数的和
  49.         /*
  50.         public static int sum2(int a,int b,int c,int d) {
  51.                 return a + b + c + d;
  52.         }
  53.         */
  54.         public static int sum(int a,int b,int c,int d) {
  55.                 return a + b + c + d;
  56.         }
  57.        
  58.         public static float sum(float a,float b) {
  59.                 System.out.println("float");
  60.                 return a + b;
  61.         }
  62. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马