【奔跑的菜鳥】Java中的抽象類
阿新 • • 發佈:2019-01-23
不過是在Java中還是在C/C++中,都有抽象類的概念。不過關鍵字不同,Java中抽象類的關鍵字是abstract。同樣的道理,既然有抽象類,那麼就有抽象的方法(有申明無實現)。抽象方法的關鍵字也是abstract。抽象類不可以例項化,用來生成子類。抽象方法一定只能在抽象類中出項,但是抽象類中不一定有抽象方法。抽象類的子類要對抽象類中每一個抽象方法進行實現,要不然子類依然是抽象類,要加abstract。
執行結果為:public class Test { public static void main(String[] args) { MultiAngle s = new TriAngle(2,5); int area = s.computeArea(); System.out.println(area); System.out.println("---------------"); s = new RectAngle(2,5); area = s.computeArea(); System.out.println(area); System.exit(0); } } abstract class MultiAngle { abstract int computeArea(); } class TriAngle extends MultiAngle { int hight,wight; TriAngle(int hight,int wight) { this.hight = hight;//this用於表示物件本身,this。hight表示對類成員中的hight的引用 this.wight = wight; } int computeArea() { return hight*wight/2; } } class RectAngle extends MultiAngle { int hight,wight; RectAngle(int hight,int wight) { this.hight = hight;//this用於表示物件本身,this。hight表示對類成員中的hight的引用 this.wight = wight; } int computeArea() { return hight*wight; } }
5
---------------
10