2017-01-18 98 views

回答

10

它只是任何不是嵌套類的類。如果你的文件是Foo.java,並且你的類是Foo,那麼它是一個頂級類。

// in Foo.java: 

public class Foo { // top level class 

    public static class NestedBar { // nested class 
    } 

} 

我一直認爲這是一個非正式的術語,但事實證明,它實際上defined in the JLS

頂層類是一類,是不是一個嵌套類。

嵌套類是聲明出現在另一個類或接口的主體內的任何類。

+0

感謝您分享包含所有細節的JLS鏈接。 – Harshakj89

0

發佈的定義是正確的,也許另一個定義是:一個頂級類是與文件「的.java」,其中它在然而,只是作爲一個觀察,對於相同的名稱定義的類。案例顯示,與嵌套的類的實例成員的交互方面,嵌套(而非頂級)'靜態'類具有與頂級類相同的行爲。

+0

這並沒有真正回答這個問題。如果您有不同的問題,可以通過單擊[提問](http://stackoverflow.com/questions/ask)來提問。您還可以[添加賞金](http://stackoverflow.com/help/privileges/set-bounties)在您擁有足夠的[聲譽](http://stackoverflow.com/help/)時吸引更多人關注此問題什麼聲譽)。 - [來自評論](/ review/low-quality-posts/15646912) – Dave2e

+0

是的,我同意。我記得這件事,並沒有注意到這個問題的答案,所以很抱歉。我會盡力回答更好。感謝您的通知。 – Erivan