final修饰的变量仅仅只是不可改变嘛???

  是不是每次面试被问到final修饰的有什么不同???

  final修饰的类不可以被继承、final修饰的变量不可以被改变、final修饰的即表示最终的、、、、、

  

  那常量被声明为final仅仅只是因为不可改变吗???

  !#!@!&#%……!@&#!*@!()@()!、、、、然后想半天说不出来个啥了o(* ̄︶ ̄*)o

  

  毕竟这些东西写的时候都是复制粘贴一把刷,别跟我说什么性能、原理、框架底层!老夫写代码就是复制粘贴一把刷,能爬就行!!!

  但是每每面试的时候就是最蛋疼的时候了,平时用不到的总是被问的最多的,所以就得不停的学习平时工作用的不多的东西了;

  

  既然要知道有什么不同的话,肯定得从开始一步一步看起,不然你只知道开始和结果,你也不知道为什么会这样对不对,和我们平时改bug一样的步骤;

  初始化常量的时候,如果只是 static修饰的话,常量只会赋值一个默认值;

  并不会开始就将你写的值赋值给声明的常量;

  

  但是,你如果添加了final修饰的话,初始化常量赋值的时候就是你给的那个值了!

  举个例子:

    例如:    

    public static int value = 123;

    此时赋给value的值是0,不是123。

    

    

  静态常量(static final修饰的)则会直接赋值。比如下面这个:

    public static final int value = 123;

    此时赋给value的值是123。

  

  

  

原文地址:https://www.cnblogs.com/qq376324789/p/14029035.html