静态成员类不是内部类在另一个类的主体中定义的成员类可以声明为静态。

示例

以下代码声明了顶级类A和静态成员类B:

1
2
3
4
5
6
class A {
  // Static member class
  public static class B {
    // Body for class B goes here
  }
}

静态成员类不是内部类。 它被认为是一个顶级类。静态成员类也称为嵌套顶级类。A类的实例和B类的实例可以独立存在,因为它们都是顶级类。

静态成员类可以声明为publicprotectedpackage-levelprivate,以限制其在其封闭类之外的可访问性。

使用静态成员类有两个好处:

  • 静态成员类可以访问其包含类的静态成员,包括私有静态成员。

  • 一个包通过提供一个命名空间,就像一个顶级类的容器。 具有静态成员类的顶级类提供了额外的命名空间层。

静态成员类是其封闭顶级类的直接成员,而不是包的成员。
静态成员类的对象的创建方式与使用new运算符创建顶级类的对象的方式相同。 要创建一个B类的对象,如下所示 -

 

 

点击链接查看详细内容

posted on 2017-08-10 11:21  SXT  阅读(97)  评论(0编辑  收藏  举报