Assigning values to static final variables in Java
Last Updated :
14 Sep, 2021
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.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...