java学习笔记--重载

package myJavaNotes;

/**
 *@author 康爸爸
 *@date:   2020年1月24日 上午02:17:38
 *
 */
public class MethodOverloading {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        /*方法:一段用来完成特定功能的代码片段,类似于其他语言的函数
          方法声明格式:
          [修饰符1  修饰符2 ....] 返回值类型  方法名(形式参数){
                  java语句块;
                  ......
          }
          
          方法的调用:
          对象名.方法名(实际参数列表)
          
          
          
         * */
        
        /* 形式参数:在方法声明时用于接收外界传入的数
         * 实际参数:调用方法时实际传给方法的数据
         * 返回值:方法在执行完毕后返回给调用它的环境的数据
         * 返回值类型:事先约定的返回值数据类型,如:无返回值,必须显示指定为void
         *
         * */
        
        //通过对象调用普通方法:需要类先new一个对象,通过对象调用方法

        MethodOverloading mol = new MethodOverloading();
        int sum1 = mol.add(1,2);//先用类new对象,通过对象调用方法
        System.out.println(sum1);
        
        int result1 = sub(5,2);//调用sub重载方法1;直接调用sub方法(public static 方法名(形参){语句块})
        System.out.println(result1);
        
        int result2 = sub(7,2,6);//调用sub重载方法2
        System.out.println(result2);
        
        double result3 = sub(4.2,5.7);//调用sub重载方法3
        System.out.println(result3);
        
        /*注意事项
        1、实参的数目、数据类型和次序必须和所调用的方法声明的形参列表保持一致
        2、java中进行方法调用中传递参数时,遵循值传递的原则(传递的都是数据的副本)
        3、基本类型传递的时该数据值的copy值
        4、引用类型传递的时该对象引用的copy值,但只想同一个对象;
        
        */
    
    
    /*方法重载:
      实际是完全不同的方法,知识方法名称相同(方便使用,故意使用相同名称)
    
       构成重载的条件:
      1、形参类型、形参个数、形参顺序不同
      2、只有返回值不同不能构成方法的重载
      如:int a(String str){}和void a(String str){}不构成方法的重载
      3、只有形参的名称不同,不构成方法的重载:
      如:int a(String str){}与int a(String s){}不构成方法的重载
     * */
    
    
    
    
    
    
    
    
    }
    //方法声明及定义:声明及定义方法时没有加 static,需要通过new对象调用。
    int add(int a,int b) {
        int sum = a + b;
        return sum;//return 的作用:1、结束方法的运行;2、返回一个值
    }
    
    //重载sub方法1
    public static int sub(int a,int b) {
        int result = a-b;
        return result;
    }
    //重载sub方法2,(与1相比)方法名相同,参数个数不同,构成重载
    public static int sub(int a,int b,int c) {
        
        int result = a-b-c;
        return result;
    }
    //重载sub方法3,(与1相比 )方法名相同,参数类型不同,构成重载
    public static double sub(double a,double b) {
        
        double result = a-b;
        return result;        
    }
    
}

posted @ 2020-01-26 01:14  destiny-2015  阅读(141)  评论(0编辑  收藏  举报