<abstract>class<class_name> { <abstract><type><method_name>(parameter-iist); }其中,abstract 表示該類或該方法是抽象的;class_name 表示抽象類的名稱;method_name 表示抽象方法名稱,parameter-list 表示方法參數列。
public abstract class Shape { public int width; // 幾何圖形的長 public int height; // 幾何圖形的寬 public Shape(int width, int height) { this.width = width; this.height = height; } public abstract double area(); // 定義抽象方法,計算面積 }2)定義一個正方形類,該類繼承自形狀類 Shape,並重寫了 area( ) 抽象方法。正方形類的程式碼如下:
public class Square extends Shape { public Square(int width, int height) { super(width, height); } // 重寫父類別中的抽象方法,實現計算正方形面積的功能 @Override public double area() { return width * height; } }3)定義一個三角形類,該類與正方形類一樣,需要繼承形狀類 Shape,並重寫父類別中的抽象方法 area()。三角形類的程式碼實現如下:
public class Triangle extends Shape { public Triangle(int width, int height) { super(width, height); } // 重寫父類別中的抽象方法,實現計算三角形面積的功能 @Override public double area() { return 0.5 * width * height; } }4)最後建立一個測試類,分別建立正方形類和三角形類的物件,並呼叫各類中的 area() 方法,列印出不同形狀的幾何圖形的面積。測試類的程式碼如下:
public class ShapeTest { public static void main(String[] args) { Square square = new Square(5, 4); // 建立正方形類物件 System.out.println("正方形的面積為:" + square.area()); Triangle triangle = new Triangle(2, 5); // 建立三角形類物件 System.out.println("三角形的面積為:" + triangle.area()); } }在該程式中,建立了 4 個類,分別為圖形類 Shape、正方形類 Square、三角形類 Triangle 和測試類 ShapeTest。其中圖形類 Shape 是一個抽象類,建立了兩個屬性,分別為圖形的長度和寬度,並通過構造方法 Shape( ) 給這兩個屬性賦值。
在測試類 ShapeTest 的 main( ) 方法中,首先建立了正方形類和三角形類的範例化物件 square 和 triangle,然後分別呼叫 area( ) 方法實現了面積的計算功能。
正方形的面積為:20.0 三角形的面積為:5.0