zoukankan      html  css  js  c++  java
  • java 面向对象(五):类结构 方法(二) 关键字:return;方法的重载;可变个数形参的方法

    return关键字:
    1.使用范围:使用在方法体中
    2.作用:① 结束方法
    * ② 针对于返回值类型的方法,使用"return 数据"方法返回所要的数据。
    3.注意点:return关键字后面不可以声明执行语句。

    方法的重载

    1.方法的重载的概念
    定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
    *
    总结:"两同一不同":同一个类、相同方法名
    参数列表不同:参数个数不同,参数类型不同

    2.
    构成重载的举例:
    举例一:Arrays类中重载的sort() / binarySearch();PrintStream中的println()
    举例二:
    //如下的4个方法构成了重载

        public void getSum(int i,int j){
            System.out.println("1");
        }
        
        public void getSum(double d1,double d2){
            System.out.println("2");
        }
        
        public void getSum(String s ,int i){
            System.out.println("3");
        }
        
        public void getSum(int i,String s){
            System.out.println("4");
        }

    不构成重载的举例:
    //如下的3个方法不能与上述4个方法构成重载

        //如下的3个方法不能与上述4个方法构成重载
    //    public int getSum(int i,int j){
    //        return 0;
    //    }
        
    //    public void getSum(int m,int n){
    //        
    //    }
        
    //    private void getSum(int i,int j){
    //        
    //    }


    3. 如何判断是否构成方法的重载?
    严格按照定义判断:两同一不同。
    跟方法的权限修饰符、返回值类型、形参变量名、方法体都没关系!
    4.如何确定类中某一个方法的调用:
    方法名 ---> 参数列表


    面试题:方法的重载与重写的区别?

    throws hrow
    StringStringBufferStringBuilder
    CollectionCollections
    finalfinallyfinalize
    ...

    抽象类、接口
    sleep() / wait()

    可变个数形参的方法

    1.使用说明:
    * 1.jdk 5.0新增的内容
    * 2.具体使用:
    * 2.1 可变个数形参的格式:数据类型 ... 变量名
    * 2.2 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个,。。。
    * 2.3 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
    * 2.4 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能共存。
    * 2.5 可变个数形参在方法的形参中,必须声明在末尾
    * 2.6 可变个数形参在方法的形参中,最多只能声明一个可变形参。


    2.举例说明:

         public void show(int i){
            
        }
        
        public void show(String s){
            System.out.println("show(String)");
        }
        
        public void show(String ... strs){
            System.out.println("show(String ... strs)");
            
            for(int i = 0;i < strs.length;i++){
                System.out.println(strs[i]);
            }
        }
        //不能与上一个方法同时存在
    //    public void show(String[] strs){
    //        
    //    }
    调用时:
            test.show("hello");
            test.show("hello","world");
            test.show();
            
            test.show(new String[]{"AA","BB","CC"});
  • 相关阅读:
    BZOJ 4408: [Fjoi 2016]神秘数
    51Nod 1317 相似字符串对
    51Nod 1561 另一种括号序列
    BZOJ 4556: [Tjoi2016&Heoi2016]字符串
    51Nod 1048 整数分解为2的幂 V2
    BZOJ 4698: Sdoi2008 Sandy的卡片
    BZOJ 3571: [Hnoi2014]画框
    BZOJ 2752: [HAOI2012]高速公路(road)
    BZOJ 1095: [ZJOI2007]Hide 捉迷藏
    BZOJ 4537: [Hnoi2016]最小公倍数
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/13168455.html
Copyright © 2011-2022 走看看