确实将变量声明为私有表明与在继承时将其声明为最终的区别

时间:2018-07-21 18:21:00

标签: java access-specifier

编辑:给您带来的不便,我们感到抱歉,因为对这一概念缺乏理解。您可以简单地忽略此问题。

我很确定我们既不能继承final变量也不可以私有变量。但是,为什么在将变量声明为私有变量时将变量声明为final会阻止它们继承。

我什至知道,基类或派生类都不能更改最终变量的值。我想推断的是,在继承时将变量声明为private还是final确实显示出任何区别。

PS:我无法从互联网上的任何地方得到澄清。每个资源都单独解释了它们,即使它们在继承它们时表现出几乎相同的行为。

1 个答案:

答案 0 :(得分:3)

  

我很确定我们既不能继承final变量也不可以私有变量

对于private字段,而不是final字段,这是正确的。最终字段 是继承的(即非私有字段)。是否可以修改它们与继承无关。

关于继承,final对于继承的方法(不能重写final方法)和类的继承能力({ {1}}类不能扩展。)

  

为什么在将变量声明为私有变量时为什么要将变量声明为final呢?

由于其他原因,您将变量声明为finalfinal封装了该字段,而private使其无法重新分配。