zoukankan      html  css  js  c++  java
  • java方法重载

                                                         Java方法重载

    文章的总体布局

    1首先我们先来了解为什么要使用方法重载

    2 什么是方法重载

    3 与方法重载相关的因素

    4 与方法重载无关的因素

    1.首先我们先来了解为什么要使用方法重载

    如下方代码块所示,代码块中的代码都是功能类似的方法,但是方法名却都不同这样子导致很难记忆,太过于麻烦

     1 package cn.itcast;
     2 
     3 public class Test {
     4     public static void main(String[] args) {
     5       sum();
     6       sum1(1);
     7       sum2(1,2);
     8       sum3(1,2,3);
     9     }
    10 
    11     public static int sum() {
    12         return  0;
    13     }
    14     public static int sum1(int a) {
    15             return  a;
    16     }
    17     public static int sum2(int a,int b) {
    18         return  a+b;
    19     } 
    20     public static int sum3(int a,int b,int c) {
    21         return  a+b;
    22     }
    23 
    24 }

    2.重载

    java就有了重载这个概念来解决这种问题,那么何为重载呢?

    所谓重载就是多个方法的名称一样,但是参数列表不一样(指的是参数的个数和类型),其好处就是记住唯一的方法名,就可以实现多个类似的功能

    如下方代码块所示

     1 package cn.itcast;
     2 
     3 public class Test {
     4     public static void main(String[] args) {
     5       sum();
     6       sum(1);
     7       sum(1,2);
     8       sum(1,2,3);
     9     }
    10 
    11     public static int sum() {
    12         System.out.println("没有参数的方法被执行了");
    13         return  0;
    14     }
    15     public static int sum(int a) {
    16         System.out.println("含有2个参数的方法被执行了");
    17             return  a;
    18     }
    19     public static int sum(int a,int b) {
    20         System.out.println("含有2个参数的方法被执行了");
    21         return  a+b;
    22     }
    23     public static int sum(int a,int b,int c) {
    24         System.out.println("含有3个参数的方法被执行了");
    25         return  a+b+c;
    26     }
    27 
    28 }

    由运行结果可知代码执行正确

     3. 与方法重载相关的因素

    1 .参数的个数不同

    
    
    package cn.itcast;
    
    public class Test {
        public static void main(String[] args) {
          int a;
          a=sum();
          System.out.println(a);
          a= sum(1);
          System.out.println(a);
        }
    
        public static int sum() {
            System.out.println("没有参数的方法被执行了");
            return  0;
        }
        public static int sum(int a) {
            System.out.println("含有1个参数的方法被执行了");
                return  a;
        }
    
    
    }

    运行结果

    2.参数的类型不同

    
    
     1 package cn.itcast;
     2 
     3 public class Test {
     4     public static void main(String[] args) {
     5         sum(10);
     6         sum("我是字符串");
     7     }
     8     public static void sum(String a) {
     9         System.out.println("字符串参数的方法被执行了");
    10 
    11     }
    12     public static void sum(int a) {
    13         System.out.println("数字参数的方法被执行了");
    14     }
    15 }
    
    

    运行结果

    
    

     3参数的多类型顺序不同

     1 package cn.itcast;
     2 
     3 public class Test {
     4     public static void main(String[] args) {
     5         sum("字符串一号",10);
     6         sum(20,"字符串二号");
     7     }
     8     public static void sum(String b,int a) {
     9         System.out.println("字符串的值:"+b);
    10         System.out.println("数值的值:"+a);
    11 
    12     }
    13     public static void sum(int a,String b) {
    14         System.out.println("字符串的值:"+b);
    15         System.out.println("数值的值:"+a);
    16     }
    17 }

    运行结果

    4 与方法重载无关的因素
    1返回值的类型
    如图所示二者的方法名相同,但是返回值的类型不同,会报错
    
    
    
     
    
    
    

    2参数的名称
    二者的参数名不同,方法名及返回值相同,函数报错
    
    

     以上就是方法重载的一些基本知识,如果有哪些地方有不足或则错误之处还请大家批评指正

     
    博客地址:https://www.cnblogs.com/pjhaymy/
     
  • 相关阅读:
    Git 生成 && 配置SSH key,配置多个SSH key
    Java异常处理机制:try...catch...的执行流程
    安防相机中的WDR技术
    静态库和动态库的编译链接和使用
    堆栈溢出检测机制
    使用vscode发布
    栈空间分配和栈对齐访问
    linux 查找文件夹下所有指定文件并重命名
    gdb使用小技巧-保存调试点现场
    mount共享文件夹出错,提示操作正在进行
  • 原文地址:https://www.cnblogs.com/pjhaymy/p/13238232.html
Copyright © 2011-2022 走看看