1. 程式人生 > >java 抽象類與介面 note

java 抽象類與介面 note

抽象類(修飾符abstract)

兩種類:具體類和抽象類

抽象方法:設計目的就是讓子類來實現。子類繼承了抽象父類,如果沒有實現抽象父類,那麼子類還是一個抽象子類。否則子類一定要實現抽象父類裡的抽象方法,成為具體類。

如果一個方法被宣告為抽象類,則這個類必須宣告為抽象的。

在抽象類裡不能具體化抽象抽象方法。

在抽象類的具體方法裡可以呼叫抽象方法。

抽象方法只能有方法宣告,不能有方法的實現。

在一個抽象類裡,可以有多個抽象方法,和多個具體方法。

抽象類不能被例項化,只有具體類才能被例項化。

UML類圖裡:類的圖示是C, 介面圖示是I 。

抽象類通過子類實現抽象方法,extends。

介面通過子類實現介面方法,implements

 

介面(修飾符interface)

介面比抽象類更加抽象。介面可以繼承介面。

介面中不能有非靜態變數,因為介面不能被例項化。介面中只能有靜態成員常量。

實現介面時,要實現介面中宣告的所有方法。

package src.test;

public interface Figure {

    String name = " 幾何圖形“; //省略了public static final

    void onDraw(); //省略了public abstract void onDraw()

}

 

package src.test.imp;

import src.test.Figure;

public class Triangle implements Figure {

  @override

    public void onDraw() {

       System.out.println("繪製三角形...");

    }

}