Saturday, September 15, 2012

What is blank final variable in Java - Example

What is blank final variable in Java
Blank final variable in Java is a final variable which is not initialized while declaration, instead they are initialized on constructor. Java compiler will complain if blank final variable is not initialized during construction. If you have more than one constructor or overloaded constructor in your class then blank final variable must be initialized in all of them, failing to do so is a compile time error in Java. Alternatively you can use constructor chaining to call one constructor from other using this keyword, in order to delegate initialization of blank final variable in Java. In this Java tutorial we will see What is blank final variable in Java and a code example on How to use blank final variable.


How to use blank final variable in Java with Example

What is blank final variable in Java with exampleBlank final variable is like any other final variable but must be initialized in constructor as shown in below example. If you don't initialize or forget to initialize blank final variable then compiler will complain about it by throwing compile time error. static and final variable are treated as compile time constant and there value is replaced during compile time only.

/**
 *
 * Java program to demonstrate that blank final variable in Java
 * must be initialized in constructor.
 * Failing to initialized blank final variable will result in compile time error.
 * @author http://java67.blogspot.com
 */

public class BlankFinalVariable {

    private final int blankFinalVariable; //must be initialized in constructor
 
    public BlankFinalVariable(){
        this(6); // this is Ok
        //this.blankFinalVariable = 3;
    }
 
    public BlankFinalVariable(int number){
        this.blankFinalVariable = number;
    }
 
    public static void main(String args[]) {
        BlankFinalVariable clazz = new BlankFinalVariable();
        System.err.println("Value of blank final variable in Java : " + clazz.blankFinalVariable);
    }
 
 
}

Output:
Value of blank final variable in Java : 6
Output:
Value of blank final variable in Java : 6


That's all on What is blank final variable in Java and how to use them. If you wan to learn more about What is final variable or final class in Java, then see that link. Another important point to note is that you can not override final method and can not sub class final class, those will result in compile time error.


Other Java fundamental tutorial you may like

2 comments:

  1. When do some one should use blank final variable? Do you have a genuine use case for blank final variables in Java ?

    ReplyDelete
    Replies
    1. I think, if you are initializing final variable at the time of object creation, and especially by value passed to constructor, than use blank final variable. For example, you can pass date of birth while creating a Person class, if this would be stored in blank final variable, you can not change it during object's life time.

      Delete

Java67 Headline Animator