日期:2014-05-20  浏览次数:20605 次

简单工厂模式中的静态方法问题
今天再看设计模式中的简单工厂模式,说简单工厂模式使用的是静态方法,使用时不需要实例化,哪位朋友能给一个简单的可以运行的例子,以便理解“不需要实例化”就可以调用静态方法。

等待。。。

------解决方案--------------------
Java code
class Test1
{
    void test()
    {
        System.out.println("Hello Test1!!");
    }
}
class Test2
{
    static void test()
    {
        System.out.println("Hello Test2!!");
    }
}
public class Demo
{
    public static void main(String[] args)
    {
        Test1 test1 = new Test1();
        test1.test();//像调用Test1的test方法,就得先实例化Test1
        
        Test2.test();//直接类名.方法名就OK了,不需要实例化。
    }
}

------解决方案--------------------
Java code

////////////////////////////////////////////////

package study.java.designpattern.simplefactory;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        /* 通过汽车工厂的静态方法,创建一辆BMW */
        Car bmw = CarFactory.buildCar();
        /* 开BMW,很爽 */
        bmw.drive();
    }

}

////////////////////////////////////////////////

package study.java.designpattern.simplefactory;

/**
 * 简单工厂类,用于生产汽车
 * @author md313
 *
 */
public class CarFactory {

    /**
     * 静态工厂方法,生产一辆全新的Car
     * @return 全新的Car
     */
    public static Car buildCar() {
        Car c = new Car();
        return c;
    }
    
}

////////////////////////////////////////////////

package study.java.designpattern.simplefactory;

/**
 * 产品类
 * @author md313
 *
 */
public class Car {

    public void drive() {
        System.out.println("Car driving...");
    }
    
}

////////////////////////////////////////////////