2013-02-08 99 views
0

我被另一種屬於同一個方法的公共方法調用私有方法困惑class.Once我被告知我必須創建該類的一個對象,然後通過這個對象調用私有方法,但是在我的一個問題中論壇我被告知我不需要使用對象。如何通過其他方法調用私有方法?

public class Train() { 

    private void method1{......method definition..... } 

    public void method2{......how to invoke method1??} 

} 

我可以簡單地通過使用調用method1();第二種方法中的第一個方法或我應該通過創建類和Object_of_Train.method1();的目的調用它。

我應該使用哪一個?

+0

這是什麼語言? (我認爲他們的意思是說你需要類的一個實例*來調用該方法,因爲非靜態方法對類的實例進行操作,一般不會開車,而是開一輛*汽車。如果兩個方法都是公共的,那麼我可以在不需要對象的情況下從另一箇中調用另一個方法,但在這種情況下,因爲第一種方法是私有的,所以我們需要* a * car。) –

+0

必須使用該類的一個對象才能從方法2調用它? – user2052015

+0

你無法開車沒有汽車。這不是一個保護問題,而是一個方法的邏輯問題 - 一個實例方法在類的一個實例上被調用。 –

回答

0

在該類中您應該可以調用method1();

你需要從這個類的一個實例調用它,並且將有機會獲得公共方法只

+0

所以你的意思是,如果這些方法在同一個類中,那麼即使它們中的一個或兩個都是私有的,對方也可以不需要對象來調用它,對嗎? – user2052015

+0

我們在談論java嗎? 在同一個班上,公立和私立將對你沒有任何影響。看起來讓你感到困惑的是靜態的使用,你可能想看看它。 – mika

+0

是的,它是關於Java。我感到困惑因爲我被告知,在主要方法內我要創建一個同一類的對象,以便我可以調用這個類的方法。所以我認爲這也應該應用於其他方法class.So我們可以說,如果在一個類中有幾個方法,並且如果我想要由另一個類調用其中的一個,則它們並不重要,如果它們是私有的或不是,我可以通過使用方法1的名稱來調用它們(); ....並且當我們在同一個類中調用時,它們是靜態的還是非靜態的並不重要,對嗎? – user2052015

0

使用this.method1();從方法2調用()或其他同類非靜態方法的類之外。

相關問題