首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >final关键字的工作原理?

final关键字的工作原理?

提问于 2017-12-21 15:12:47
回答 2关注 0查看 672

在Java中,我们使用final关键字和变量来指定它的值不被改变。但是我发现你可以改变类的构造函数/方法中的值。再次,如果变量是static那么这是一个编译错误。

这里是代码:

代码语言:txt
复制
代码语言:txt
复制
import java.util.ArrayList;
代码语言:txt
复制
import java.util.List;
代码语言:txt
复制
代码语言:txt
复制
class Test {
代码语言:txt
复制
  private final List foo;
代码语言:txt
复制
代码语言:txt
复制
  public Test()
代码语言:txt
复制
  {
代码语言:txt
复制
      foo = new ArrayList();
代码语言:txt
复制
      foo.add("foo"); // Modification-1
代码语言:txt
复制
  }
代码语言:txt
复制
  public static void main(String[] args) 
代码语言:txt
复制
  {
代码语言:txt
复制
      Test t = new Test();
代码语言:txt
复制
      t.foo.add("bar"); // Modification-2
代码语言:txt
复制
      System.out.println("print - " + t.foo);
代码语言:txt
复制
  }
代码语言:txt
复制
}

上面的代码工作正常,没有错误。

现在改变变量为static:

代码语言:txt
复制
代码语言:txt
复制
private static final List foo;
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档