Java基本知識 抽象類與介面對比

2021-08-13 05:35:49 字數 1572 閱讀 3134

對比

構造方法

普通方法

靜態方法

普通成員變數

靜態成員變數

抽象方法

抽象類ttt

ttt但不能為private型別介面f

ffft

預設且只能為public static final型別,即常量

t預設為public abstract型別,推薦不加修飾

/**

* 抽象類

* 1.可以包含構造方法

* 2.可以包含靜態成員變數、靜態方法

* 3.可以包含抽象、非抽象方法;但抽象方法不能為private

* @author wsz

* @date 2023年12月8日

*/abstract class abstractclass

public int function0()

@setter

@getter

private int id;//成員變數

//靜態變數

static string name;

private static string name1;

protected static string name2;

public static string name3;

//靜態方法

private static string function1()

protected static string function2()

public static string function3()

//抽象方法

abstract void function4();

// private abstract void function5(); 不可為private

protected abstract void function6();

public abstract void function7();

}

/**

* 介面

* 1.不能包含構造方法

* 2.可包含預設為public static final的變數,即常量。不包含普通成員變數

* 3.不能包含靜態方法

* 4.不能包含非抽象方法

* 5.包含的抽象方法預設為public abstract修飾的,在使用中推薦不加修飾,保持簡潔性

* 說明:jdk8中介面允許有預設實現,那麼這個default方法,是對所有實現類都有價值的預設實現

* @author wsz

* */

inte***ce inte***cetest; 沒有構造方法

// int id; 沒有成員變數

public static final int id = 1; //靜態成員變數,即常量

// static int function1(); 沒有靜態方法

// int function2() ; 沒有普通方法

public abstract int funtion3(); //抽象方法

}

Java抽象類與介面

一.概念 在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是反過來卻不是這樣。並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。比如 如果我們進行乙個圖形編輯軟體的開發,就會發現問題領域存在著圓 三角形這樣一些具體概念。它們是不同的...

JAVA抽象類與介面

抽象方法 使用abstract關鍵字修飾的方法,沒有方法體,抽象方法只能使用public 或者protected修飾。public abstract void fun 抽象類 使用abstract關鍵字修飾的類 包含抽象方法的類是抽象類 抽象類可以不包含抽象方法 抽象類只能被繼承,不能自己建立例項 ...

Java 抽象類 與 介面

如果乙個類含有抽象方法,則稱這個類是抽象類,抽象類必須使用abstract 關鍵字修飾。因為抽象類中含有抽象方法,所以不能用抽象類建立物件。抽象方法 只有宣告,沒有實現。如果乙個類繼承了乙個抽象類,他必須實現這個抽象類的全部抽象方法,否則,他依然是個抽象類。如下 private abstract c...