如果静态内部类也是最终的,这意味着什么?

时间:2015-10-01 17:39:18

标签: java static inner-classes 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);

            }
        }
}

在上面的代码中,我有一个外部类,然后有一个带有非访问说明符'final'的静态嵌套类。这是否使这个类类似于“常量”变量?

2 个答案:

答案 0 :(得分:0)

不,它与常数变量不相似。这意味着您无法创建此嵌套类(Inner)的子类。这类似于在顶级(即非嵌套)类中使用final关键字。

答案 1 :(得分:0)

类上的

final意味着它们无法扩展。与在顶级定义的类上使用final没有什么不同。

类上的

final 与变量上的final相同。 final根据您使用它的位置有不同的含义。一般来说,它描述了一种不变性:

  • 在变量上,这意味着一旦初始化就无法更改其值。
  • 在方法上,它意味着一旦定义,就不能在子类中重写。
  • 在类上,这意味着类本身不能被子类化。