Skip to main content

Static and this keyword


Static Keyword:

     Most of the time static keyword in java use for memory management. We can use static keyword with variables, methods and also with block (Static block).

1. Static with variables:
    If we declare static keyword with variables then it's called static variables. Static variables are use to access or refer common properties of all objects. The static varibels gets memory only once at the time of loading class loading. It makes program more efficient i.e., It saves memory. For example,
    static int length=100;

2. Static with method:
    If we use static keyword with method then it's called static method. The static method is belong to class rather than object of class. Static method can invoke or call without creating instance or object of class. For example,
    static void print(){
        System.out.println("Welcome in Java");
    }

Examples of static variable, method and block is as follows:


class Welcome{
static String textValue = "Welcome to java..";
static void print(){
System.out.println(textValue + " in print() method");
}
void display(){
System.out.println(textValue + " in display() method");
}
}
public class StaticKeyword{
static{
System.out.println("Static block is invoked");
}  
public static void main(String[] args) {
Welcome.print();
Welcome welcome= new Welcome();
welcome.display();
}

}

OUTPUT:
Static block is invoked
Welcome to java.. in print() method
Welcome to java.. in display() method

3. Block OR Static Block
    It is use to initialize static data member. It is execute before main method. For example,
    static{
        System.out.println("This is static block");
    }

This Keyword:

    This keyword is a reference variable which refer to current object.


The uses of this keyword:
  1. this can be used to refer current class instance variable.
  2. this can be used to invoke current class method (implicitly)
  3. this() can be used to invoke current class constructor.
  4. this can be passed as an argument in the method call.
  5. this can be passed as argument in the constructor call.
  6. this can be used to return the current class instance from the method.

For example,
class Employee{
int id;
String name;
public Employee(int id, String name) {
this.id=id;
this.name=name;
}
void print(){
System.out.println("Id : "+id+"\nName : "+name);
}
}
public class ThisKeyword {
public static void main(String[] args) {
Employee emp=new Employee(1,"Sam");
emp.print();
}
}
Output:
Id : 1
Name : Sam

Comments

Popular posts from this blog

Decision Making and Branching Statements / Control Statements

 Introduction     Java is a set of statements which executed sequentially in the order in which they appear. This will happen when option or repetitions of certains are not necessary. However, We have a number of situation, where we may have to change the order of execution of statement on bases of certain conditions. This involves a kind of dicision making to see the particular condition occured or not and the direction of execution will execute according to it.     When program braks the sequential flow and jump on the another part of code then it's called branching . When branching is on particular condition then it's called conditional branching . If branches executes without any particular conditions then it's call unconditional branching .     Java supports such decision making capabilities and supports following statements known as Control statement or Decision making statement .     if statements     switch statement   ...