PrinterFactory.class PrinterFactory.java Test.class Test.java xxxPrinter.class xxxPrinter.java CanonPrinter.class CanonPrinter.java HpPrinter.class HpPrinter.java Printer.class Printer.java