Java8之工厂模式

来源:互联网 发布:沙箱软件 编辑:程序博客网 时间:2024/06/15 13:03
interface Number {}class One implements Number {}class Two implements Number {}class Three implements Number {}class NumberFactory {    final static Map<String, Supplier<Number>> map = new HashMap<>();    static {        map.put("one", One::new);        map.put("two", Two::new);        map.put("three", Three::new);    }    public static Number createNumber(String number) {        Supplier<Number> numberSupplier = map.get(number);        if (numberSupplier != null) return numberSupplier.get();        throw new IllegalArgumentException("No such product " + number);    }}public class Main {    public static void main(String[] args) {        Number number = NumberFactory.createNumber("one");        Number number1 = NumberFactory.createNumber("two");        System.out.println(number.getClass());        System.out.println(number1.getClass());    }}
原创粉丝点击