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

    java中不允许方法重名,而方法重载允许方法重名(编译能通过)

    重载规则:

    1,方法名相同;

    2,参数不同(参数个数或者参数类型)

    public class OverLoadTest {
    public static int add(int a,int b){
    return a+b;
    }
    public static int add(int a,int b){//报错:add(int,int)已经被定义,即不允许方法重名
    return a+b;
    }
    public static double add(int a,int b){//报错:add(int,int)已经被定义,返回类型不同并不能重载
    return a+b;
    }
    }

    上述代码编译会报错:add(int ,int)方法已经被定义,即不允许重名,当改变返回类型为double,仍然报相同错误,说明返回类型不同并不能重载方法,编译不能通过

    public class OverLoadTest {
        public static int add(int a,int b){
            return a+b;
        }
        /*public static int add(int a,int b){//报错:add(int,int)已经被定义,即不允许方法重名
            return a+b;
        }
        public static double add(int a,int b){//报错:add(int,int)已经被定义,返回类型不同并不能重载
            return a+b;
        }*/
    
        public static int add(int a){//参数个数不同,编译通过,可以构成重载
            return a;
        }
    
        public static double add(int a,double b){//参数类型不同,编译通过,可以构成重载
            return a+b;
        }
    
        public static double add(int... a){//不定长参数方法,编译通过,可以构成重载
            int s=0;
            for (int i=0;i<a.length;i++){
                s+=a[i];
            }
            return s;
        }
    
        public static void main(String[] args) {
            System.out.println("调用add(int)方法:"+add(1));//调用add(int)方法:1
            System.out.println("调用add(int,int)方法:"+add(1,2));//调用add(int,int)方法:3
            System.out.println("调用add(int,double)方法:"+add(1,2.5));//调用add(int,double)方法:3.5
            System.out.println("调用不定长参数add(int...)方法:"+add(1,2,3,4,5));//调用不定长参数add(int...)方法:15.0
            System.out.println("调用不定长参数add(int...)方法:"+add(2));//调用不定长参数add(int...)方法:2
        }
    }
    

      着重说一下不定长参数,不定长参数格式为(type... var),var就是一个type类型的数组,按照数组遍历操作var即可 

  • 相关阅读:
    OpenCV里面的一些常用函数
    c++ 里面的字符类型转换
    互斥研究
    git 命令
    pipe的操作
    二叉树总结(五)伸展树、B-树和B+树
    二叉树总结(四)平衡二叉树
    二叉树总结(三)二叉搜索树
    [LeetCode]Construct Binary Tree from Preorder and Inorder Traversal
    二叉树总结(一)概念和性质
  • 原文地址:https://www.cnblogs.com/guochengfirst/p/9425292.html
Copyright © 2011-2022 走看看