Sah*_* Mj 2 java static android final
我也使用了final和static变量.我发现这些变量的是,
最终变量只能通过初始化程序或赋值语句初始化一次.
与常量的值不同,最终变量的值在编译时不一定是已知的.
我应该将哪些变量声明为最终 -
大多数情况下,我使用那些值普遍且永远不会改变的变量,例如PI的值.
public static final double PI = 3.141592653589793;
Run Code Online (Sandbox Code Playgroud)
这些变量属于类而不是对象(实例).
静态变量仅在执行开始时初始化一次.
要由类的所有实例共享的单个副本
静态变量可以由类名直接访问,不需要任何对象.
我应该将哪些变量声明为最终 -
大多数时候,我使用那些我想初始化的变量,并在enitre类中使用它们.
现在,我final static在我的一个数据库项目中遇到了一个术语.我发现一些数据库对象甚至数据库版本都被声明为statci final.
static final String DATA_BASE = "BackUpDatabase.db";
static final int DATA_BASE_VERSION = 1;
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是我们应该声明的变量是什么,final或者,static或者final static使用它们中的任何一个都可以解决问题,然后将两者结合使用.
声明为static final(或反之亦然)的变量被理解为有意义的常量,并且在所有大写中以空格的下划线命名.
常见常量的一个例子是Integer.MAX_VALUE,或Math.PI.
static - Only use when a variable which is used globally
final - Only use when you need to declare a value as constant
static final - Only use when a value is globally used and it is a constant.
: - Here global means across all the instances of a java class
Run Code Online (Sandbox Code Playgroud)