public interface ImageSaver { void save();//定义save()方法 }
public class GIFSaver implements ImageSaver { @Override public void save() {//实现save()方法 System.out.println("将图片保存成GIF格式"); } }
public class JPEGSaver implements ImageSaver {
@Override public void save() { System.out.println("将图片保存成JPG格式"); } }
public class PNGSaver implements ImageSaver {
@Override public void save() { System.out.println("将图片保存成PNG格式"); }
}
public class TypeChooser { public static ImageSaver getSaver(String type) { if (type.equalsIgnoreCase("GIF")) {//使用if else语句来判断图片的类型 return new GIFSaver(); } else if (type.equalsIgnoreCase("JPEG")) { return new JPEGSaver(); } else if (type.equalsIgnoreCase("PNG")) { return new PNGSaver(); } else { return null; } } }
public class User { public static void main(String[] args) { System.out.print("用户选择了GIF格式:"); ImageSaver saver = TypeChooser.getSaver("GIF");//获得保存图片为GIF类型的对象 saver.save(); System.out.print("用户选择了JPEG格式:");//获得保存图片为JPEG类型的对象 saver = TypeChooser.getSaver("JPEG"); saver.save(); System.out.print("用户选择了PNG格式:");//获得保存图片为PNG类型的对象 saver = TypeChooser.getSaver("PNG"); saver.save(); } }