Java 實例 - 方法覆蓋
前面章節(jié)中我們已經(jīng)學(xué)習了 Java 方法的重寫,本文我們來看下 Java 方法覆蓋的實現(xiàn)。
方法重載與方法覆蓋區(qū)別如下:
- 方法重載(Overloading):如果有兩個方法的方法名相同,但參數(shù)不一致,哪么可以說一個方法是另一個方法的重載。
- 方法覆蓋(Overriding):如果在子類中定義一個方法,其名稱、返回類型及參數(shù)簽名正好與父類中某個方法的名稱、返回類型及參數(shù)簽名相匹配,那么可以說,子類的方法覆蓋了父類的方法。
以下實例演示了 Java 方法覆蓋(Overriding)代碼的實現(xiàn):
/* author by w3cschool.cn Findareas.java */ public class Findareas{ public static void main (String []agrs){ Figure f= new Figure(10 , 10); Rectangle r= new Rectangle(9 , 5); Figure figref; figref=f; System.out.println("Area is :"+figref.area()); figref=r; System.out.println("Area is :"+figref.area()); } } class Figure{ double dim1; double dim2; Figure(double a , double b) { dim1=a; dim2=b; } Double area() { System.out.println("Inside area for figure."); return(dim1*dim2); } } class Rectangle extends Figure { Rectangle(double a, double b) { super(a ,b); } Double area() { System.out.println("Inside area for rectangle."); return(dim1*dim2); } }
以上代碼運行輸出結(jié)果為:
Inside area for figure. Area is :100.0 Inside area for rectangle. Area is :45.0
更多建議: