簡體   English   中英

java中的頂級class是什么?

[英]What is a top level class in java?

  • java中的頂級class是什么?
  • java中的頂級class是什么定義?

我知道這是一個基本問題,但我找不到這個問題的明確和簡單的答案。

它只是任何不是嵌套類的類。 如果你的文件是Foo.java,你的類是Foo,那么它就是頂級類。

// in Foo.java:

public class Foo { // top level class

    public static class NestedBar { // nested class
    }

}

我一直認為這是一個非正式術語,但事實證明它實際上是在JLS中定義的

頂級類是不是嵌套類的類。

嵌套類是任何類,其聲明發生在另一個類或接口的主體內。

發布的定義是正確的,也許另一個定義可能是:頂級類是定義的類,其名稱與文件“.java”的名稱相同。但是,正如觀察所示,對於案例顯示,嵌套(不是頂級)“靜態”類與頂層類的實例成員的交互方面具有相同的頂級類行為。

一個.java文件可以包含多個class,最多其中一個可以有public訪問修飾符,其他的必須是default訪問修飾符。 它們也可以是final的或abstract的,但不能同時是兩者。 因此,在.java文件中定義的每個非嵌套獨立 class 都是頂級 class

例如,在以下示例中,每個 class 都是頂級 class。

public class Animal {  
    private String name; 
} 
class Animal2 {}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM