How does static modifier work?
Static Variable:
• The variables are class variables.
• These come into existence as class in loaded into JVM.
• The variable remains live as long as class is exists in JVM or garbage collected.
• The variable’s state is common for all instances of the belonging class.
• If any instance of belonging to class modify the value of static variable then the modified value reflects for all.
• Static variables are only accessible in static method only.
• As a good practice, it should be referenced by Class name not by instance.
Static Method:
• The methods are class methods.
• The method is equally defined for all instances the class.
• It is good practice, the static method should be referenced by its class name instead of instance variables.
• This method can only access static variables but not the instance variables.
• Static method will be overloaded but won’t be overridden.
• As there is a common functionality that will be used for a set of other classes in an application, then we have to keep the functionality in static method.
• Mostly factory pattern and singleton pattern use static method.
• Utility classes use static methods
Static Class
• Only a nested class can be static class, top-level class can’t be static.
• A static nested class can only access static members of top-level class.
• A static nested does not require an instance of top-level class to be instantiated.
<<Top-level class name>>.<<Inner static class name>> newClass = new <<Top-level class name>>.<<Inner static class name>>();
• It is completely separate class that has no link with instance of top-level class.
Static block
• Static block is used to initialize static variables of a class.
• Static block is loaded at once at the time of class loading.
• This block may present anywhere in java source but it is executed before constructor at run time.
• If there is multiple static blocks, then it is executed in a sequence as it is found in source file.
| Is This Answer Correct ? | 4 Yes | 0 No |
What is the difference between an if statement and a switch statement?
How use .contains in java?
Why ArrayList class is not a synchronized class and why it is not a thread safe class? explain
what is aberivation of java?
I have a class which is abstract which contains only the abstract methods. This is similar to an interface. Then, if i have given a choice to choose one of them. Which one i have to choose and why?
What is the difference between multiple processes and multiple threads?
What is bom encoding?
can we Connect Applet to Data Base ? with Discriptiom. and also What is Diff. from Applet & Servlet?
Give any two differences between C++ and java.
How does a for loop work?
Different types of modifiers?
How to sort array of 0 and 1 in java?