假設一個抽象類擁有所有三種方法,並且都是具體方法,與具有所有具體方法的普通類相比這三種方法也是具體的。具有所有具體方法的普通類和具有所有具體方法的抽象類有什麼區別
它們在應用程序中有什麼區別,因爲它們現在基本上服務於相同的目的。爲什麼這是允許的?
以一個抽象類,讓我們說:
abstract class A {
public void open() {}
public void close() {}
public void pull() {}
}
和正常類:
class A {
public void open() {}
public void close() {}
public void pull() {}
}
什麼是它們之間的區別,因爲如果我們去掉abstract
關鍵字則都是相同的。
任何人都可以解釋它嗎?
主要區別在於抽象類不能被實例化。如果沒有抽象成員,那是唯一的(重要的)區別。另外,抽象類不能被聲明爲final。 –
您無法初始化「抽象」類。在你的情況下,抽象類的意義就失去了。 – Andrew
你的問題和這個不一樣嗎? https://stackoverflow.com/questions/362446/abstract-class-with-all-concrete-methods?rq=1 –