$show=/label

Static block Importance in Java

SHARE:

What is static block  in java ? Static blocks will be executed at the time (during) of class loading if we want to perform any activit...

What is static block  in java ?

Static blocks will be executed at the time (during) of class loading if we want to perform any activity we have to define that inside static block.


Static block Importance in Java


E.g. At the time of java class loading, the corresponding native libraries should be loaded. Hence, we have to define this activity inside static block.

Class Test
{
      Static
     {
            System.loadLibrary(“native library path”);
     }
}
We can observe the same in java api classes. Object, Thread classes, etc..




Public class Thread implements Runnable {
    /* Make sure registerNatives is the first thing <clinit> does. */
    private static native void registerNatives();
    static {
        registerNatives();
    }
}

public class Object {

    private static native void registerNatives();
    static {
        registerNatives();
    }
}

E.g.2:
  1. Load driver class – register driver manager.
  2. Drivermanager.getconnection
  3. Prepare statement
  4. Execute query
  5. Iterate result.
  6. Close rs, state, conn



After loading every database driver class, we have to register driver class with driver manager. But, inside database driver class there is a static block to perform this activity and we are not responsible explicitly.

Class DBDriver
{
    Static
   {
      // Register this driver with driver manager.
   }
}

Note: Within a class we can declare any number of static blocks, but all these static blocks will be executed from top to bottom.

Queston 1: Without writing main method is it possible to print some statement to the console?

Answer: Yes, By using static block.


public class StaticBlockEx {
   static
     {
        for (int i = 0; i < 10; i++)
            System.out.println(i);
       //System.exit(0);
     }
   public static void main(String[] args)
   {
      System.out.println("............");
   }
}
Output:
0
1
2
3
4
5
6
7
8
9
............

Public Test
{
   Static
     {
         SOP(“Hello, I can print”);
         System.exit(0); // it stops execution.
    }
}
     
Output: Hello, I can print.


Question 2: without writing main method & static block, is it possible to print some statements to console?

Answer: yes. Of course, there are multiple ways.

Way 1:

public class StaticBlockEx {
      static int i = m1(); // using static method.
      public static int m1() {
            System.out.println("hai, I can print");
            System.exit(0);
            return 10;
      }
}

Way 2:


public class StaticBlockEx {
      static StaticBlockEx blockEx = new StaticBlockEx(); // using instance method.
      {
            System.out.println("hai, I can print");
            System.exit(0);
      }
}

Way 3:


public class StaticBlockEx {
      static StaticBlockEx blockEx = new StaticBlockEx(); // using constructor
      public StaticBlockEx() {
            System.out.println("hai, I can print");
            System.exit(0);
      }
      public static void main(String[] args) {
      }
}



Note: From 1.7 version onwards, main() method is mandatory to start the program execution. Hence, from 1.7 version onwards without writing main() method it is impossible to print some statements to the console.

COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Static block Importance in Java
Static block Importance in Java
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhmYuckIWanQ1am9VPkwTjc8D9P2yTNVV0ZegS_sV9sMJ4YkqXbTg6JIYMa2XDJUK3Iozc0rprhF62RDy1GYqjEGx2_MKaiuO7JtI4NpPNAOTKOGf56z12Kkbckk8VJZ7Sv-AK73ln9aU/s400/Static+block+Importance+in+Java.PNG
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhmYuckIWanQ1am9VPkwTjc8D9P2yTNVV0ZegS_sV9sMJ4YkqXbTg6JIYMa2XDJUK3Iozc0rprhF62RDy1GYqjEGx2_MKaiuO7JtI4NpPNAOTKOGf56z12Kkbckk8VJZ7Sv-AK73ln9aU/s72-c/Static+block+Importance+in+Java.PNG
JavaProgramTo.com
https://www.javaprogramto.com/2016/04/static-block-importance-in-java.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2016/04/static-block-importance-in-java.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content