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"});
  • 相关阅读:
    【面积并】 Atlantis
    【动态前k大 贪心】 Gone Fishing
    【复杂枚举】 library
    【双端队列bfs 网格图建图】拯救大兵瑞恩
    【奇偶传递关系 边带权】 奇偶游戏
    【权值并查集】 supermarket
    CF w4d3 A. Pythagorean Theorem II
    CF w4d2 C. Purification
    CF w4d2 B. Road Construction
    CF w4d2 A. Cakeminator
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/13168455.html
Copyright © 2011-2022 走看看