Android的工厂模式

来源:互联网 发布:csgo 知乎 编辑:程序博客网 时间:2024/06/05 19:05

Android的工厂模式

工厂模式用于复杂的对象的创建,如果对象不能通过new来创建,就可以使用工厂模式。

public abstract class AutoFactory {    public abstract <T extends Car> T createCar(Class<T> car);}
public abstract class Car {    public abstract void run();}
public class MyAutoFactory extends AutoFactory {    @Override    public <T extends Car> T createCar(Class<T> car) {        Car car1 = null;        try{            car1 = (Car)Class.forName(car.getName()).newInstance();        }catch (Exception e){            e.printStackTrace();        }        return (T)car1;    }}
public class QQCar extends Car {    @Override    public void run() {        Log.v("zzw","run");    }}
public class Main {    public static void main(String[] args){        AutoFactory factory = new MyAutoFactory();        QQCar qqCar = factory.createCar(QQCar.class);        qqCar.run();    }}

可以看出这个模式的核心代码是
car1 = (Car)Class.forName(car.getName()).newInstance();通过类的名字就能创建类。

原创粉丝点击