Kaleem Anwar wrote:My question is why its been called the "Static factory method" instead of static method. Where the difference lies?
It's called a static factory method because it returns an instance of the class.
According to Joshua Bloch (Effective Java™, Second Edition)
Item 1: Consider static factory methods instead of constructors
The normal way for a class to allow a client to obtain an instance of itself is to provide a public constructor. There is another technique that should be a part of every programmer’s toolkit. A class can provide a public static factory method, which is simply a static method that returns an instance of the class.
Note that a static factory method is not the same as the Factory Method pattern from Design Patterns [Gamma95, p. 107].