Monday, February 4, 2013

What is static keyword in java?

static variable

    It is a variable which belongs to the class. 
    Static variables are initialized only once , at the start of the execution .
   These variables will be initialized first, before the initialization of any instance variables
    A single copy of static variable is shared  by all instances of the class
    A static variable can be accessed directly by the class name and does not  need any object
    Syntax : ClassName.StaticVariableName
  
   static method

    It is a method which belongs to the class and not to the object(instance)
    A static method can access only static data. It can not access non-static data (instance variables)
    A static method can call only other static methods and can not call a non-static method from it.
    A static method can be accessed directly by the class name and doesn’t need any object
    Syntax : ClassName.StaticMethodName
    A static method cannot refer to “this” or “super” keywords in anyway

    Side Note:

    main method is static , since it must be be accessible for an application to run , before any instantiation takes place.

static block

The static block, is a block of statement inside a Java class that will be executed when a class is first loaded in to the JVM
   
class Test{
 static {
 //Code goes here
 }
}

A static block helps to initialize the static data members, just like constructors help to initialize instance members


No comments:

Post a Comment