adspace


How does static modifier work?

Answer Posted / javamasque

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



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is a classloader in java?

1092


explain different ways of using thread? : Java thread

1087


Write a program to print count of empty strings in java 8?

1091


Differentiate between static and non-static methods in java.

1131


Write a java program to find the route that connects between Red and Green Cells. General Rules for traversal 1. You can traverse from one cell to another vertically, horizontally or diagonally. 2. You cannot traverse through Black cells. 3. There should be only one Red and Green cell and at least one of each should be present. Otherwise the array is invalid. 4. You cannot revisit a cell that you have already traversed. 5. The maze need not be in the same as given in the above example

2669


What is a constructor overloading in java?

1130


Is minecraft 1.15 out?

1049


How to sort array in descending order in java?

999


What is the difference between equals() and == in java?

1046


Write a program to find the whether a number is an Armstrong number or not?

1106


What do you mean by an interface in java?

1105


What are the differences between heap and stack memory in java?

1150


Realized?

2268


Explain public static void main(string args[]) in java.

1082


What is an object in java and how is it created?

1146