1. 程式人生 > 其它 >在JavaScript的方法中,return(返回)兩個值或者多個值的方法

在JavaScript的方法中,return(返回)兩個值或者多個值的方法

方法過載

java 中允許同一個類中,多個同名方法的存在,但要求形參列表不一致

過載的好處

  1. 減輕了起名的麻煩
  2. 減輕了記名的麻煩

過載的注意事項

  1. 方法名:必須相同

  2. 形參列表:必須不同

    • 形參型別個數,或順序必須有一個不一樣引數名無要求

      public void calculate(int n1,int n2) {
          int ret =n1+n2;
          System.out.println("有兩個整數形參的calculate被呼叫");
          System.out.println(n1+ "+" + n2 +"=" + ret);
      }
      	
      //	以下沒有構成過載,而是方法的重複定義
      //	public void calculate(int a,int n2) {
      //		double ret =n1+n2;
      //		System.out.println(n1+ "+" + n2 +"=" + ret);
      //	}
      
  3. 返回型別:無要求

    public void calculate(int n1,int n2) {
        int ret =n1+n2;
        System.out.println("有兩個整數形參的calculate被呼叫");
        System.out.println(n1+ "+" + n2 +"=" + ret);
    }
    //	以下沒有構成過載,而是方法的重複定義,改變返回值型別,
    //	並沒有作用到判斷到底呼叫那個方法
    //	public intvoid calculate(int a,int b) {
    //		int ret =n1+n2;
    //		return ret;
    //	}
    

過載練習

題目:

編寫程式,類 Methods 中定義三個過載方法並呼叫。方法名為 m。 三個方法分別接收一個 int 引數、兩個 int 引數、一個字串引數。分別執行平方運算並輸出結果, 相乘並輸出結果,輸出字串資訊。在主類的 main ()方法中分別用引數區別呼叫三個方法

package Object_Practice;

public class OverLoadExercise {
	public static void main(String[] args) {
		Method method = new Method();
		method.m(2);//4
		method.m(2,3);//6
		method.m("我真的很不錯");
	}
}


class Method{
	public void m(int num) {
		int ret =num * num;
		System.out.println(num+"的平方="+ret);
	}
	
	public void m(int num1, int num2) {
		int ret = num1 * num2;
		System.out.println(num1+ "*"+ num2 + "=" + ret);
	}
	
	public void m(String str) {
		System.out.println("傳入是String"+str);
	}
}

題目:

定義三個過載方法 max(),第一個方法,返回兩個 int 值中的最大值,第二個方法,返回兩個 double 值中的最大值,第三個方法返回三個 double 值中的最大值,並分別呼叫三個方法

package Object_Practice;

public class OverLoadExercise {
	public static void main(String[] args) {
		/*
		 * 過載練習1,進行計算
		 */
		System.out.println("過載練習題一");
		Method method = new Method();
		method.m(2);//4
		method.m(2,3);//6
		method.m("我真的很不錯");
		
		
		System.out.println("=========");
		System.out.println("過載練習題二");
		
		/*
		 * 過載練習2
		 */
		System.out.println("max=" + method.max(10, 20) );
		System.out.println("max=" + method.max(1.1, 2.2));
		System.out.println("max=" + method.max(1.1, 2.2,3.3));
	}
}


class Method{
	/*
	 * 過載練習1
	 */
	public void m(int num) {
		int ret =num * num;
		System.out.println(num+"的平方="+ret);
	}
	
	public void m(int num1, int num2) {
		int ret = num1 * num2;
		System.out.println(num1+ "*"+ num2 + "=" + ret);
	}
	
	public void m(String str) {
		System.out.println("傳入是String"+str);
	}
	
	/*
	 * 過載練習2
	 * 返回最大值
	 */
	
	public int max(int num1 , int num2) {
		return num1 > num2? num1:num2; 
	}
	
	public double max(double num1 , double num2) {
		return num1 > num2? num1:num2; 
	}
	
	
	public double max(double num1 , double num2,double num3) {
		double max = num1 > num2? num1:num2;
		return max>num3 ? max:num3;
	}
}

注意

  • 方法過載,優先匹配不需要強制轉換的過載方法