顾名思义,工厂模式就是相似于生活中的工厂,能够生产咱们想要的东西,回到代码,假如咱们须要一个实例,直接从工厂中拿便可。spa
eg:假如咱们定义一个“球”类的接口code
1 public interface Ball{ 2 public void sayName(); 3 }
此时咱们再定义两个球类实现这个接口blog
1 public class Football implements Ball{ 2 public void sayName() { 3 System.out.println("i am a football"); 4 } 5 }
1 public class Basketball implements Ball{ 2 public void sayName() { 3 System.out.println("i am a basketball "); 4 } 5 }
最后咱们定义工厂:接口
1 public class BallFactory{ 2 public static Ball getBall(String ballname){ 3 Ball b = null ; 4 if("football".equals("ballname")){ 5 b=new Football(); 6 } 7 if("basketball".equals("ballname")){ 8 b=new Basketball(); 9 } 10 return b; 11 } 12 public static void main(String[] a){ 13 Ball b = BallFactory.getBall("football"); 14 b.sayName(); 15 } 16 }
当咱们须要哪一个球类时,就能够从工厂中拿了。get