Assigning values to static final variables in Java
Assigning values to static final variables in Java:
In Java, non-static final variables can be assigned a value either in constructor or with the declaration. But, static final variables cannot be assigned value in constructor; they must be assigned a value with their declaration.
For example, following program works fine.
Java
class Test {
final int i;
Test()
{
i = 10 ;
}
}
|
If we make i as static final then we must assign value to i with the declaration.
Java
class Test {
static final int i;
static
{
i = 10 ;
}
}
|
Such behavior is obvious as static variables are shared among all the objects of a class; creating a new object would change the same static variable which is not allowed if the static variable is final.
Last Updated :
14 Sep, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...