零基础学java---方法method(4)

方法

6.方法重载

6.1 方法重载概述

方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法互相构成重载

* 多个方法在同一个类中

* 多个放方法具有相同方法名

* 多个方法的参数不相同,类型不同或数量不同

6.2 方法重载特特点

* 重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式

* 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判断两个方法是否构成重载

示例:

 public class MethodDemo{

         public static float  fn(int a){

            //方法体

         }

        

   public static int  fn(int a,int b){

            //方法体

          }

 }

6.3 方法重载练习

需求:使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long)

思路:

1.定义比较两个数字的是否相同的方法compare()方法,参数选择两个int型参数

public static boolean compare(int a,int b){

          return a==b;

}

2.定义对应的重载方法,变更对应的参数类型,参数变更为两个long型参数

public static boolean compare(long a,long b){

          return a==b;

}

3.定义所有重载方法,两个byte类型与两个short类型参数

public static boolean compare(byte a,byte b){

         //代码片段

}

public static boolean compare(short a,short b){

          //代码片段

}

4. 完成方法调用,运行测试结果

public static void main(String args[ ]){

       system.out.println(cpmpare(10,20));

}

示例代码:


public class hmm081 {
    public static void main(String[] args) {
        //调用方法
        System.out.println(compare(10,20));
        //强转
        System.out.println(compare((byte)10,(byte)20));
        System.out.println(compare((long)10,(long)10));
    }
    public static boolean compare(int a,int b){
        System.out.println("int");
        return a==b;
    }
    public static boolean compare(long a,long b){
        System.out.println("long");
        return a==b;
    }
    public static boolean compare(byte a,byte b){
        System.out.println("byte");
        return a==b;
    }
    public static boolean compare(short a,short b){
        System.out.println("short");
        return a==b;
    }
}

7.方法参数传递

7.1 方法参数传递(基本类型)

对于基本数据类型参数,形式参数的改变,不影响实际参数的值

 虽然形参change()内的number改变,但main()参数不变,不影响实际参数值,所以第二次输出结果还是100

7.2 方法参数传递(引用类型)

对于引用类型的参数,形式参数的改变,影响实际参数的值,如数组。

 

猜你喜欢

转载自blog.csdn.net/m0_68089732/article/details/123989337