1. Static variable
1. Static variable
2. Static method
Side Note:
Lets learn the nuances of the static keywords by doing some excercises!
Assignment: To Learn working of static variables & methods
Step 1) Copy the following code into a editor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | class Student { int a; //initialized to zero static int b; //initialized to zero only when class is loaded not for each object created. Student(){ //Constructor incrementing static variable b b++; } public void showData(){ System.out.println( "Value of a = " +a); System.out.println( "Value of b = " +b); } //public static void increment(){ //a++; //} } class Demo{ public static void main(String args[]){ Student s1 = new Student(); s1.showData(); Student s2 = new Student(); s2.showData(); //Student.b++; //s1.showData(); } } |
Step 2) Save & Compile the code. Run the code as, java Demo.
Step 3) Check output.
Step 4) It is possible to access a static variable from outside the class using the syntaxClassName.Variable_Name. Uncomment line # 27 & 28 . Save , Compile & Run . Observe the output.
Step 3) Check output.
Step 4) It is possible to access a static variable from outside the class using the syntaxClassName.Variable_Name. Uncomment line # 27 & 28 . Save , Compile & Run . Observe the output.
Step 5) Uncomment line 15,16 & 17 . Save , Compile & Run.
Step 5) Error = ? This is because it is not possible to access instance variable “a” from static method “increment“.
Step 5) Error = ? This is because it is not possible to access instance variable “a” from static method “increment“.
3. 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
1 2 3 4 5 | class Test{ static { //Code goes here } } |
A static block helps to initialize the static data members, just like constructors help to initialize instance members.
References
References
No comments:
Post a Comment