java中的静态类和最终类

gnu*_*anu 0 java android

在Java(和Android)中,有什么用途static classfinal class声明?

我的问题不是静态实例,而是类声明,如,

static class StaticClass {
    //variables and methods
}
Run Code Online (Sandbox Code Playgroud)

final class FinalClass {
    //variables and methods
}
Run Code Online (Sandbox Code Playgroud)

谢谢,

Jab*_*bir 9

静态嵌套类

与类方法和变量一样,静态嵌套类与其外部类相关联.和静态类方法一样,静态嵌套类不能直接引用其封闭类中定义的实例变量或方法:它只能通过对象引用来使用它们.注意:静态嵌套类与其外部类(和其他类)的实例成员交互,就像任何其他顶级类一样.实际上,静态嵌套类在行为上是一个顶级类,它已嵌套在另一个顶级类中以方便打包.

使用封闭的类名访问静态嵌套类:

OuterClass.StaticNestedClass
Run Code Online (Sandbox Code Playgroud)

例如,要为静态嵌套类创建对象,请使用以下语法:

OuterClass.StaticNestedClass nestedObject =
     new OuterClass.StaticNestedClass();
Run Code Online (Sandbox Code Playgroud)

http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

最后的课程

声明为final的类不能被子类化.这在创建类似String类的不可变类时尤其有用.

http://docs.oracle.com/javase/tutorial/java/IandI/final.html