在處理 Java 中的方法覆蓋時,如何使用變數引數作為輸入



問題描述

在處理方法覆蓋時,如何使用變數引數作為輸入?

解決方案

此示例展示如何覆蓋具有變數引數作為輸入的方法。

public class Main {
   static void vaTest(int ... no) {
      System.out.print(
         "vaTest(int ...): " + "Number of args: " + no.length +" Contents: ");
      for(int n : no)System.out.print(n + " ");
      System.out.println();
   }
   static void vaTest(boolean ... bl) {
      System.out.print(
         "vaTest(boolean ...) " + "Number of args: " + bl.length + " Contents: ");
      for(boolean b : bl)System.out.print(b + " ");
      System.out.println();
   }
   static void vaTest(String msg, int ... no) {
      System.out.print(
         "vaTest(String, int ...): " + msg +"no. of arguments: "+ no.length +" Contents: ");
      for(int  n : no)
      System.out.print(n + " ");
      System.out.println();
   }
   public static void main(String args[]) {
      vaTest(1, 2, 3);
      vaTest("Testing: ", 10, 20);
      vaTest(true, false, false);
   }
}

結果

上述程式碼示例將產生以下結果。

vaTest(int ...): Number of args: 3 Contents: 1 2 3 
vaTest(String, int ...): Testing: no. of arguments: 2 
Contents: 10 20 
vaTest(boolean ...) Number of args: 3 Contents: 
true false false 

以下是帶有方法覆蓋的 varargs 的另一個示例。

public class Vararg {
   static void vararg(Integer... x) {
      System.out.println("Integer..."); 
   } 
   static void vararg(String... x) {
      System.out.println("String..."); 
   }
   public static void main(String [] args) {
      int s = 0;
      vararg(s,s);
   }
}

上述程式碼示例將產生以下結果。

Integer...
java_methods.htm
廣告
© . All rights reserved.