1700446307
1700446308
}
1700446309
1700446310
}
1700446311
1700446312
Season枚举具备了静态方法contains后,就可以在valueOf前判断一下是否包含指定的枚举名称了,若包含则可以通过valueOf转换为Season枚举,若不包含则不转换。
1700446313
1700446314
1700446315
1700446316
1700446318
编写高质量代码:改善Java程序的151个建议 建议88:用枚举实现工厂方法模式更简洁
1700446319
1700446320
工厂方法模式(Factory Method Pattern)是“创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其子类”。工厂方法模式在我们的开发工作中经常会用到。下面以汽车制造为例,看看一般的工厂方法模式是如何实现的,代码如下:
1700446321
1700446322
//抽象产品
1700446323
1700446324
interface Car{
1700446325
1700446326
};
1700446327
1700446328
//具体产品类
1700446329
1700446330
class FordCar implements Car{
1700446331
1700446332
};
1700446333
1700446334
//具体产品类
1700446335
1700446336
class BuickCar implements Car{
1700446337
1700446338
};
1700446339
1700446340
//工厂类
1700446341
1700446342
class CarFactory{
1700446343
1700446344
//生产汽车
1700446345
1700446346
public static Car createCar(Class<?extends Car>c){
1700446347
1700446348
try{
1700446349
1700446350
return(Car)c.newInstance();
1700446351
1700446352
}catch(Exception e){
1700446353
1700446354
e.printStackTrace();
1700446355
1700446356
}
[
上一页 ]
[ :1.700446307e+09 ]
[
下一页 ]