2011-04-21 242 views
3

在抽象類中編寫私有方法有什麼用處,並且我們可以在該類中編寫公共靜態?請舉個例子。在抽象類中使用私有方法

+2

您是否嘗試過在抽象類中創建一個私有方法?怎麼了?有你的答案 – Rob 2011-04-21 12:10:53

+1

聽起來像一個家庭作業,如果是的話,也用家庭作業關鍵字標記它 – fmucar 2011-04-21 12:11:14

回答

2

我們可以有我們在抽象類和實現,因此私有方法

例如:

public abstract class AbstractDAO{ 

public void save(){ 
    validate(); 
    //save 
} 

    private void validate(){ // we are hiding this method 
    } 

} 
6

你可以使用任何一種方法在抽象類。一個抽象類,一個正常的唯一區別是,抽象類包含有沒有身體的方法:

public abstract Foo { 
    public void foo() { 
      bar(); 
    } 

    private void bar() { 
      doSomething(); 
    } 

    protected abstract void doSomething(); 
} 

因此,雖然bar()不知道什麼doSomething()確實,它知道它最終將如何生存稱它。

這足以讓編譯器爲該類創建字節碼。

-1

但一個抽象方法不能是私有的,它必須是公共的或受保護的,否則子類將無法去定義它

+0

他不是專門討論抽象方法。 – 2014-06-10 17:13:40