抽象類: 1)abstract 定義的類, 2)抽象類中可以有抽象方法,也可以有非抽象方法。但有抽象方法的類必須是抽象類,抽象方法不可有實現(xiàn)題(也就是大括號),非抽象類必須有實現(xiàn)體。 3)抽象類不能被實例化,但可以被繼承,繼承抽象類的子類必須是抽象的,除非實現(xiàn)了抽象類的所有抽象方法。 abstract class sport{ abstract void run(); abstract void jump(); void going() { System.out.println("我喜歡走路"); } } abstract class favourite extends sport{//如果沒有完全實現(xiàn)抽象類中的方法,則該類必須是抽象的 public void run(){} } class sportMeet extends sport{//如果完全實現(xiàn)了抽象類中的所有抽象方法,則子類可以不是抽象的 public void run(){} public void jump(){}} 接口: 如果抽象類里的所有方法都是抽象的,那么就可以用另一種形式表示,那就是接口。用interface表示 1)接口是抽象方法和常量的集合,只有方法的定義,沒有方法的實現(xiàn)。 2)接口中的方法都是抽象的,所以不用標(biāo)志abstract關(guān)鍵字。接口中定義的常量都是public static final類型的。方法都是public;類型的 3)接口可以繼承其他接口,這樣就擁有父類的所有屬性和方法 4)普通類實現(xiàn)接口,要實現(xiàn)接口中的所有抽象方法, 包括父類的方法。如果沒有完全實現(xiàn),則這個類就是抽象類,必須有abstract關(guān)鍵字 5)一個雷可以實現(xiàn)多個接口 interface Run{ int ID=1; void run(); } interface Animal extends Run{ void breathe(); } class Fish implements Animal{ public void breathe(){} public void run(){ } } abstract class person implements Animal{ public void breathe(){ } } |
|
來自: I_T_館 > 《java基礎(chǔ)》