2012-09-08 17 views
9

爲什麼私人方法不存在當我編譯該java文件後使用javap classname在 控制檯?私有方法不存在,當我們做javap classname

class A 
{ 
    private void one(){} 
    public void two(){} 
    protected void three(){} 
} 
+0

一般來說,如果你能解釋爲什麼它的問題多一點背景,你會得到更多有用的答案。在這種情況下,答案基本上是「因爲它不是」。如果您提供了更多關於您嘗試解決的更廣泛問題的信息,這些信息因未列出私有方法而受阻,您可能會在解決原始問題時獲得更多幫助。 – EdC

回答

17

私有方法默認情況下不顯示的,你需要使用:

javap -private A 
+0

是的它的工作,但有沒有特別的理由這樣做? –

+0

可能是因爲絕大多數用例只需要顯示'public'和'protected'方法,因此使得'private'方法可選就有意義:) – Reimeus

+0

@manishgupta不要忘記接受這個答案:) – Reimeus