Static Methods in Java Very useful for Selenium

Java static method

If you apply static keyword with any method, it is known as static method.
  • A static method belongs to the class rather than object of a class.
  • A static method can be invoked without the need for creating an instance of a class.
  • Static method can access static data member and can change the value of it.

Example of static method

  1. //Program of changing the common property of all objects(static field).  
  2.   
  3. class Student9{  
  4.      int rollno;  
  5.      String name;  
  6.      static String college = "ITS";  
  7.        
  8.      static void change(){  
  9.      college = "BBDIT";  
  10.      }  
  11.   
  12.      Student9(int r, String n){  
  13.      rollno = r;  
  14.      name = n;  
  15.      }  
  16.   
  17.      void display (){System.out.println(rollno+" "+name+" "+college);}  
  18.   
  19.     public static void main(String args[]){  
  20.     Student9.change();  
  21.   
  22.     Student9 s1 = new Student9 (111,"Karan");  
  23.     Student9 s2 = new Student9 (222,"Aryan");  
  24.     Student9 s3 = new Student9 (333,"Sonoo");  
  25.   
  26.     s1.display();  
  27.     s2.display();  
  28.     s3.display();  
  29.     }  
  30. }  
Output: 111 Karan BBDIT
           222 Aryan BBDIT
           333 Sonoo BBDIT

Another example of static method that performs normal calculation

  1. //Program to get cube of a given number by static method  
  2.   
  3. class Calculate{  
  4.   static int cube(int x){  
  5.   return x*x*x;  
  6.   }  
  7.   
  8.   public static void main(String args[]){  
  9.   int result=Calculate.cube(5);  
  10.   System.out.println(result);  
  11.   }  
  12. }  
Output:125

Restrictions for static method

There are two main restrictions for the static method. They are:

  1. The static method cannot use non static data member or call non-static method directly.
  2. this and super cannot be used in static context.
  3. class A{  
  4.  int a=40;//non static  
  5.    
  6.  public static void main(String args[]){  
  7.   System.out.println(a);  
  8.  }  
  9. }        

Output:Compile Time Error
Q) why java main method is static?
Ans) because object is not required to call static method if it were non-static method, jvm create object first then call main() method that will lead the problem of extra memory allocation.

3) Java static block
  • Is used to initialize the static data member.
  • It is executed before main method at the time of classloading.
Example of static block
  1. class A2{  
  2.   static{System.out.println("static block is invoked");}  
  3.   public static void main(String args[]){  
  4.    System.out.println("Hello main");  
  5.   }  
  6. }  
Output: static block is invoked
       Hello main
Q) Can we execute a program without main() method?
Ans) Yes, one of the way is static block but in previous version of JDK not in JDK 1.7.
  1. class A3{  
  2.   static{  
  3.   System.out.println("static block is invoked");  
  4.   System.exit(0);  
  5.   }  
  6. }  
Output:static block is invoked (if not JDK7)



Comments

Popular posts from this blog

Importance of testng.xml file

Handling Dynamic Web Tables Using Selenium WebDriver

Explain bug leakage and bug release.