zoukankan      html  css  js  c++  java
  • 方法重载的使用与练习

    要求:1.同一个类中 2.方法名必须相同(如下列代码中的setSum
    3.方法的参数列表(下述中getSum之后括号中的东西)不同Ⅰ.参数的个数不同(setSum之后的括号里定义的参数的数目不一样)
    Ⅱ.参数类型不同(setSum后面的括号中定义的类型有些是int有些是double这个类型不同),这些里面只要有一个不同就是重载
    Ⅲ.方法的重载与方法的返回值类型没有关系(虽然(4)方法定义的是void类型,但是还是和(1)(2)(3)是重载,也就是说
    setSum之前的方法类型无论是什么样,只要后面的符合上述条例都是重载)

    public class TestOverload {
        //定义两个int变量的和(1)
        public int getSum(int i,int j){
            return i+j;
        }
        //和上面的方法名不同,不是重载,虽然可能输出的值相同,但也不是同一个方法
        public int getSum1(int i,int j){
            return i+j;
        }
        //定义三个int变量的和(2)
        public int getSum(int i,int j,int k){
            return i+j+k;
        }
        //虽然int变成了void,但是和上面的方法是同一个方法
        public void getSum(int i,int j,int k){
            System.out.println(i+j+k);
        }
        //定义两个double型数据的和(3)
        public double setSum(double i,double j){
            return i+j;
        }
        //定义三个double型数组的和(4)
        public void setSum(double i,double j,double k){
            System.out.println(i+j+k);
        }
        /*也可以是public double setSum(double i,double j,double k){
            return i+j+k;
        }但是为了了解重载的使用,就采用了上述方法*/
        //以下两个方法虽然只是变量值类型的顺序换了一下,但是符合要求,也构成重载
        public void method1(String str,int i){
    
        }
        public void method1(int i,String str){
    
        }
    }

    编写程序:定义三个重载方法并调用,方法名为mOL
    三个方法分别接收一个int参数、两个int参数、一个字符串参数。分别执行平方运算并执行结果
    相乘并输出结果,输出字符串信息
    在主类main()方法中分别用参数区别调用三个方法

    public class TestOverload {
        public static void main(String[] args) {
            TestOverload t=new TestOverload();
            t.mOL(2);
            t.mOL(2,5);
            t.mOL("哈哈");
        }
        public void mOL(int i){
            int i1=i*i;
            System.out.println(i1);
        }
        public void mOL(int i,int j){
            int i1=i*j;
            System.out.println(i1);
        }
        public void mOL(String str){
            System.out.println(str);
        }
    }


    重载输出可以自动能识别调用的是哪个方法

    定义三个重载方法max()
    第一个方法求两个int值中的最大值
    第二个方法求两个double中的最大值
    第三个方法求三个double中的最大值,并且分别调用三个方法

    public class TestOverload {
        public static void main(String[] args) {
            TestOverload t=new TestOverload();
            int i1=t.max(3,4);
            System.out.println("两个int中的最大值是:"+i1);
            double i2=t.max(3.1,3.2);
            System.out.println("两个double中的最大值是:"+i2);
            double i3=t.max(3.1,3.2,3.3);
            System.out.println("三个double中的最大值是:"+i3);
        }
        public int max(int i,int j){
            int a=(i>j)?i:j;
            return a;
        }
        public double max(double i,double j){
            double a=(i>j)?i:j;
            return a;
        }
        public double max(double i,double j,double k){
            double a=(max(i,j)>k)?max(i,j):k;//调用上一个方法
            return a;
        }
    }

  • 相关阅读:
    python 运行CMD和shell命令
    python 装饰器2 常用装饰器【@property,@x.setter,@x.deleter】
    正则表达式 python re正则模块
    Interesting Finds: 2008.01.06
    Interesting Finds: 2008.01.11
    Interesting Finds: 2007.12.25
    Interesting Finds: 2007.12.26
    Interesting Finds: 2008.01.04
    Interesting Finds: 2008.01.03
    Interesting Finds: 2008.01.09
  • 原文地址:https://www.cnblogs.com/KeepCalmAndNeverSayNever/p/10117112.html
Copyright © 2011-2022 走看看