方法的覆蓋(overriding)
方法的重載並不一定是在一個類中:子類可以從父類繼承一個方法,也可以定義一個同名異參的方法,也稱為overloading。
當子類從父類繼承一個無參方法,而又定義了一個同樣的無參方法,則子類新寫的方法覆蓋父類的方法,稱為覆蓋。(注意返回值類型也必須相同,否則編譯出錯。)
如果方法不同,則成重載。
1 package TomText; 2 3 public class TomText_15 { 4 5 public static void main(String[] args) { 6 int[] i = new int[args.length]; 7 8 copyArrayTo(args,i); 9 calculateForPrinting(i); 10 } 11 12 /* 13 * 將String類型的數組的值,賦值給int類型的數組 14 */ 15 public static void copyArrayTo(String[] s,int[] i) { 16 for(int n=0;n<s.length;n++) { 17 i[n] =Integer.parseInt(s[n]); //將String類型強制轉換成int類型,再賦值給數組元素 18 } 19 } 20 /* 21 * 計算打印張數 22 * 如果一張打9頁,那么n份,總共多少張 23 */ 24 public static void calculateForPrinting(int[] i) { 25 int sum =0; 26 27 for(int m=0; m<i.length; m++) { 28 if(i[m]%9 == 0) sum = sum + i[m]/9; 29 else sum = sum + (i[m]/9 + 1); 30 } 31 32 System.out.println(sum); 33 } 34 35 36 }
