1. 程式人生 > >Java & 抽象類

Java & 抽象類

必須 mob 是個 sta 函數 amp java log 需要

/* 抽象類: 抽象:籠統,模糊,看不懂!不具體。 特點: 1,方法只有聲明沒有實現時,該方法就是抽象方法,需要被abstract修飾。 抽象方法必須定義在抽象類中。該類必須也被abstract修飾。 2,抽象類不可以被實例化。為什麽?因為調用抽象方法沒意義。 3,抽象類必須有其子類覆蓋了所有的抽象方法後,該子類才可以實例化。 否則,這個子類還是抽象類。 1,抽象類中有構造函數嗎? 有,用於給子類對象進行初始化。 2,抽象類可以不定義抽象方法嗎? 可以的。 但是很少見,目的就是不讓該類創建對象。AWT的適配器對象就是這種類。 通常這個類中的方法有方法體,但是卻沒有內容。 abstract class Demo { void show1() {} void show2() {} } 3,抽象關鍵字不可以和那些關鍵字共存? private 不行 static 不行 final 不行 4,抽象類和一般類的異同點。 相同點: 抽象類和一般類都是用來描述事物的,都在內部定了成員。 不同: 1,一般類有足夠的信息描述事物。 抽象類描述事物的信息有可能不足。 2,一般類中不能定義抽象方法,只能定非抽象方法。 抽象類中可定義抽象方法,同時也可以定義非抽象方法。 3,一般類可以被實例化。 抽象類不可以被實例化。 5,抽象類一定是個父類嗎? 是的。因為需要子類覆蓋其方法後才可以對子類實例化。
*/

abstract
class Demo { abstract /*抽象*/ void show(); } /* class DemoA extends Demo { void show() { System.out.println("demoa show"); } } class DemoB extends Demo { void show() { System.out.println("demob show"); } } */ abstract class 犬科 { abstract void 吼叫(); }
classextends 犬科 { void 吼叫() { System.out.println("汪汪"); } } classextends 犬科 { void 吼叫() { System.out.println("嗷嗷"); } } class AbstractDemo { public static void main(String[] args) { System.out.println("Hello World!"); } }

Java & 抽象類