3
我有下面的代碼片段:抽象類:單構造函數,訪問修飾符?
public abstract class Foo
{
protected Foo()
}
是否存在使用受保護的訪問修飾符或公衆之間的繼承有什麼區別?
我在這種情況下主要看到使用保護。 所以有區別,爲什麼人們使用保護公衆?
我有下面的代碼片段:抽象類:單構造函數,訪問修飾符?
public abstract class Foo
{
protected Foo()
}
是否存在使用受保護的訪問修飾符或公衆之間的繼承有什麼區別?
我在這種情況下主要看到使用保護。 所以有區別,爲什麼人們使用保護公衆?
有可能是一些微妙的情況下它會有所作爲(這將是檢測與反射),但本質上它們是相同的。這可能是更清晰使它protected
,因爲它實際上不能通過派生類的構造函數調用。
一個區別是,如果您計劃序列化類,那麼您必須具有默認構造函數public
(默認意味着構造函數不帶參數)。否則,就像喬恩說的那樣,這種差異很小。
這在我寫作的應用程序中扮演了一個角色,從中我的問題出現了。有趣的一點謝謝! – kamahl 2012-03-11 17:33:17