Q- What is the difference between singleton and static class in java
Answer: Singleton class Vs Static class
6. Can we extends singleton class in java ?
Answer: NO
Because in singleton class have private constructor.
By default when you extend a class, Java will invoke the parent's no-arg constructor when constructing the subclass.
Related Tutorials
Answer: Singleton class Vs Static class
Singleton Class | Static class |
Singleton class have only one object (an instance of the class)
at a time per JVM. during application life cycle.
| Static class have all static member or methods. No need to instantiate stattic class. We can directly call methods of static class. StaticClassExample.getUserName(); public class StaticClassExample { private static String userName = "Sumit"; public static String getUserName(){ return userName; } } |
Singleton class represent object. | Static class represent a static methods of a class. |
Singleton class and static class provides good accessibility and save memory. | |
Singleton class methods are slower then Static methods. | Static methods are much faster because of static binding during compile time. |
Singleton class is easy to test (unit testing) | Static classes are hard test (unit testing) |
Static class provides better performance than Singleton class, because static methods are bonded on compile time | |
Singleton classes can be lazy loaded | Static class always eagerly loaded |
When To Use : Singleton class is used while interested to change state of property and single object per JVM. Singleton maintaining state. Example :- logging, caches, thread pools, configuration settings, device driver objects | Static class or static methods are used while don't need to change state of property. OR used to create utility classes. Static does not maintaining any state. Example :- java.lang.Math, Apache StringUtils |
6. Can we extends singleton class in java ?
Answer: NO
Because in singleton class have private constructor.
By default when you extend a class, Java will invoke the parent's no-arg constructor when constructing the subclass.
Related Tutorials
No comments:
Post a Comment