抽象類和抽象方法的使用,介面的詳解

2021-09-25 14:48:02 字數 1687 閱讀 4512

抽象類和和抽象方法的使用

什麼是抽象方法:使用abstract修飾的方法,沒有方法體,只有宣告,它定義的是一種規範,通過子類去具體實現

什麼是抽象類:包含抽象方法的類就是抽象類(普通類不能定義抽象方法)

package cn.com.qq;

public abstract class animal

public static void main(string args)

}class dog extends animal

}

抽象類需要注意的點:

1,有抽象方法的類只能定義成抽象類

2,抽象類不能例項化物件,也就是不能new

3,抽象類可以包含屬性,方法,構造方法,但是構造方法不能new,只能被子類來呼叫

4,抽象類只能用來被繼承

5,抽象方法必須被子類實現

介面的詳解

1,訪問修飾符:只能是public或者default

2,介面名:和類名採用相同機制

3,extends:介面可以多繼承

4,常量:介面中的屬性只能是常量,並且是public static final修飾,不寫也是

5,方法:被public abstract修飾,不寫也是

需要注意的有:

1,子類通過implements來實現介面

2,介面不能建立例項

3,乙個子類實現了介面,必須實現介面中所有的方法,並且這些方法只能是public的

4,jdk1.7之前,介面中只能包含靜態常量,抽象方法,不能有普通屬性,構造方法,普通方法

5,jdk1.8後,介面中包含普通的靜態方法

package cn.com.qq;

public inte***ce myinterfence

}class myclass implements myinterfence

public void test02()

}

package cn.com.qq;

public class testinterfence

}inte***ce volant

inte***ce honest

//實現多介面

class angel implements volant,honest

@override

public void helpother()

}class goodman implements honest

public void otherway()

}class birdman implements volant

}

package cn.com.qq;

public class testinterfence02

}inte***ce a

inte***ce b

//介面可以多繼承,類是單繼承的,也就是 單繼承,多介面

inte***ce c extends a,b

class mysublass implements c

@override

public void testb()

@override

public void testc()

}

抽象類和介面的使用

1.抽象類和介面是專案設計相關,不關心具體實現細節 2.介面可以多繼承 類只能單繼承 3.如果是 描述 則定義成類 如果是 功能擴充套件 則定義成介面 介面a 不能建立物件 如果要用某乙個方法還需要同時覆蓋其他所有的方法 inte ce a 用乙個類去 空實現 介面a裡的方法,然後再派生子類,就可以...

抽象方法 抽象類 介面 介面和抽象類的區別

某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。抽象方法和抽象類的規則 public abstract class shape private string color p...

介面,抽象類和抽象方法

1.定義介面 介面使用 inte ce 關鍵字宣告,它與類的宣告類似。介面宣告預設 是 public 的。通常介面命名已i字母開頭。inte ce 介面名 2.介面繼承介面 多個介面用,號進行區分 inte ce 介面名 繼承的介面名 3.類實現介面 訪問修飾符 class 類名 介面名 4.乙個類...