Java 如果静态内部类也是final,这意味着什么?
在上面的代码中,我有一个外部类,然后有一个带有非访问说明符“final”的静态嵌套类。这是否使该类类似于“常量”变量?否,它与常量变量不相似。这意味着您无法创建此嵌套类(Java 如果静态内部类也是final,这意味着什么?,java,static,inner-classes,final,Java,Static,Inner Classes,Final,在上面的代码中,我有一个外部类,然后有一个带有非访问说明符“final”的静态嵌套类。这是否使该类类似于“常量”变量?否,它与常量变量不相似。这意味着您无法创建此嵌套类(internal)的子类。这类似于在顶级(即非嵌套)类中使用final关键字。否,它与常量变量不同。这意味着您无法创建此嵌套类(internal)的子类。这类似于在顶级(即非嵌套)类中使用final关键字。final在类中表示它们不能扩展。它与在顶级定义的类上拥有final没有什么不同 类上的final与变量上的final不同最
internal
)的子类。这类似于在顶级(即非嵌套)类中使用final关键字。否,它与常量变量不同。这意味着您无法创建此嵌套类(internal
)的子类。这类似于在顶级(即非嵌套)类中使用final关键字。final
在类中表示它们不能扩展。它与在顶级定义的类上拥有final
没有什么不同
类上的
final
与变量上的final
不同<代码>最终版根据您使用它的位置具有不同的含义。一般来说,它描述了一种不变性:
- 在变量上,这意味着您不能在初始化后更改其值
- 在方法上,这意味着一旦定义,就不能在子类中重写它
- 在类上,这意味着类本身不能被子类化
类的
final
表示它们不能扩展。它与在顶级定义的类上拥有final
没有什么不同
类上的
final
与变量上的final
不同<代码>最终版根据您使用它的位置具有不同的含义。一般来说,它描述了一种不变性:
- 在变量上,这意味着您不能在初始化后更改其值
- 在方法上,这意味着一旦定义,就不能在子类中重写它
- 在类上,这意味着类本身不能被子类化
internal
不能扩展。不要将内部类与嵌套类混淆。可能相关:另外,用final
修改的类是否嵌套也无关紧要。行为是相同的。类的final表示不能从该类派生。简单地说,这意味着内部
不能扩展。不要将内部类与嵌套类混淆。可能相关:另外,用final
修改的类是否嵌套也无关紧要。行为是一样的。
public class ClassWithInnerClass {
int a = 10;
public static void outer(){
System.out.println("In method of outer class");
}
final static class Inner{
int b = 20;
public void innermethod(){
System.out.println("In method of inner class");
System.out.println("Inner class variable b = "+b);
}
}
}