静态方法(static method) 是属于类的方法,而不是属于类的某个特定对象的方法。静态方法与类的任何实例都不相关。可以通过类直接调用,而不用创建类的实例,多用于工具或帮助类(比如工厂类)
简单工厂模式(工厂方法):不是一个真正的设计模式,更像是一种编程习惯。有一个单独的工厂类,你可以传递一个参数到工厂类的静态方法(工厂类不被实例化),工厂类根据参数的不同返回不同类的实例。
优点:让类的实例化延迟到子类中进行,客户端代码不直接实例化对象,而是通过工厂类来完成,这样客户端代码从具体类中解耦,依赖于接口/抽象类。
实例:车间工厂类生产螺母类、螺丝类、锤子类三种产品,客户端通过参数从工厂类中获得螺丝类实例,当螺丝类的生产(实例化)过程发生改变时,只需要修改工厂类中实例化的代码,客户端代码不动。