Skip to main content

Static Initialization Blocks


Basic Properties of Static Variables:
  1. A static variable is a variable which is initialized only once at the start of execution.
  2. Static variable belongs to the class and not to the object of the class.
  3. Static variables should be initialized before the initialization of instance variables.
If we know the value of a static variable, then we can initialize it in one line.
Like this :
public static int a = 20;

Here, we initialized the value of 'a' as 20 directly.
But what if we want to initialize that static variable when a certain condition is met?
For example, I want to initialize 'a' as 20 when the other value 'b' is greater than zero. If 'b' is less than zero, I want to initialize 'a' as 30.
How do we do this?

That's where the role of static initialization blocks comes into play.

A Static Initialization Block is a normal block of code enclosed in braces and preceded by the static keyword.

There can be any number of static initialization blocks in a class. They are called in the order in which they are written in the program.

An Example Demonstrating Static Initialization Blocks:

class StaticDemo{
        static int a;
        static int b;

        //Static Initialization Block starts
        static{
              Scanner scan = new Scanner(System.in);
              System.out.println("Enter the value of b: ");
              b = scan.nextInt();
              if(b >= 0){
                    a = 20;
              }
              if(b < 0){
                    a = 30;
              }
         }

       public static void main(String... args){
            System.out.println("Value of a is: "+ a);
       }
}

From the above program, we can see that the value of 'a' is 20 when the value of 'b' is greater than or equal to zero. Similarly, the value of 'a' is 30 when the value of 'b' is less than zero.



 




 











Comments

Popular posts from this blog

First post!

Hello World, My name is Sai Rohith Karanam, currently pursuing BTech Computer Science Engineering at Lovely Professional University, Punjab. I am a tyro in writing blogs. I'm just exploring a new field in my life. Actually, I would like to share something that happened before writing this blog. From the past 5 days, I was constantly trying to write a blog and was searching like hell all over the internet. All the questions in my mind like, where to publish my blog? what to write in my blog? These type of questions kept flashing through my mind honestly till today afternoon. I then saw some videos of "how to own a domain name and buy web hosting for a cheaper price", the cheaper price I finally got is 6000 INR, but I don't want to take a risk by affording money as I am still a novice. If at all I want to afford the money, let me gain a little bit of experience by writing here and then afford it later. Then, all of a sudden, an idea flashed through my mind and s

10 lessons I have learnt in 2020...

2020 is a year of shocks, surprises, learnings and a lot of introspection for me. I know with the arise of corona pandemic, many people have lost their lives, lost their jobs, lost their own families but still, there are a lot of things we need to be grateful for. For example, at this moment, you are alive, you are reading this, your senses are working properly and above all, your health is perfectly alright in spite of the pandemic.  Now tell me, how many good things are there that we need to be grateful for amidst of corona chaos? Every year is an experience we gain for the future, experience from the mistakes that we've done, experience from the way we have responded in a particular situation and experience from our self-fulfilling prophecies. So like everyone else, this year has really taught me some valuable lessons which I believe are the first step to achieving my goals. So I thought, why not share my experience of this year with people so that they may learn something out o

Purpose in Life vs Purpose of Life

A gentle disclaimer, This post is only written on the basis of my thoughts and perspectives. It is not intended to hurt anyone's beliefs and traditions. Okay, let's start. We study at prestigious universities, we get the highest paying jobs, we get lots of money which is well enough to buy every single thing for our own comfort, our parents will be very proud of everything we have achieved and a lot more praise from the society. Are these enough for your life to be successful? If you said no, you're on the right path. But if you said yes, Think again! Today we are in the year 2020, let's move a 1000 years back. Because you were born in the 20th or 21st century, you are struggling to become a doctor or an IT professional. What if you were born 1000 years ago? Well, you might opt fishing as your career, right? What did this symbolise?  Our purpose in life, which means it is the purpose which we should fulfil to make a living for our life keeps on varying.  Today, you are