使用匿名内部类实现工厂方法模式