我正在瀏覽一些Java代碼,並且看到很多抽象類,其中不包含任何內容。在什麼情況下你會更喜歡沒有方法的抽象類?
對於如。像這樣 -
public abstract class Processor
{
}
雖然他們有具體的實現類。在什麼情況下這些抽象類是有意義的?
我正在瀏覽一些Java代碼,並且看到很多抽象類,其中不包含任何內容。在什麼情況下你會更喜歡沒有方法的抽象類?
對於如。像這樣 -
public abstract class Processor
{
}
雖然他們有具體的實現類。在什麼情況下這些抽象類是有意義的?
Abstract
當你有一些邏輯對所有可能的實現類都是通用的時候使用類。
寫作與裏面什麼都沒有,延長其不同類別的Abstract class
是非常useless.The只difference
是,你可以使用相同的handle
所有具體的類。
其中一種情況是,如果你不想讓你的類使用new
關鍵字實例化,那麼你可以定義它是抽象的。
如果有什麼與一個沒有方法的類有關? – 2012-08-07 18:35:36
處理器p =新處理器(){};' – 2012-08-07 18:36:41
@MisrableVariable:不確定你的意思? – kosa 2012-08-07 18:37:00
在一些庫中,他們將使用反射來查找這些標記抽象類的實現。這也是抽象類名稱本身的代碼文檔。
'interfaces'被用作標記。出於顯而易見的原因,對於(具體)課程可以有多個標記。 – 2012-08-07 18:36:33
國際海事組織(IMO),當你想創建一個具有所有子類通用的行爲和狀態的基類時,抽象類優先於接口。我不確定空的抽象類比接口更有用。通常,標記接口是空的。
是。我認爲標記界面可以達到同樣的目的。 – CodeBlue 2012-08-07 18:41:08
像[**'Cloneable' **](http://docs.oracle.com/javase/6/docs/api/java/lang/Cloneable.html)? – 2012-08-07 21:47:30
對於泛型你可以使用<?擴展處理器> – bluesman 2012-08-07 18:33:02
不適合某些有用! – 2012-08-07 18:34:24
你可以看看這個主題:http://stackoverflow.com/questions/1749477/are-empty-abstract-classes-a-bad-practice-and-why – 2012-08-07 18:35:55