package com.example.gongchang_jiandan;
/***
* 薯条对抽象接口的实现
* @author Administrator
*
*/
public class Chips implements Food
{
@Override
public void get()
{
System.out.println( "我点了一份薯条" );
}
}
package com.example.gongchang_jiandan;
/**
* 食物的抽象接口
* @author Administrator
*
*/
public interface Food
{
//获得相应的食物
public void get();
}
package com.example.gongchang_jiandan;
public class FoodFactory
{
public static Food getFood(
String type ) throws InstantiationException , IllegalAccessException , ClassNotFoundException
{
if( type.equalsIgnoreCase( "mcchicken" ) )
{
return McChicken.class.newInstance();
}
else if( type.equalsIgnoreCase( "chips" ) )
{
return Chips.class.newInstance();
}
else
{
System.out.println( "哎呀!找不到相应的实例化类啦!" );
return null;
}
}
}
package com.example.gongchang_jiandan;
// 麦香鸡抽象接口的实现
public class McChicken implements Food
{
@Override
public void get()
{
System.out.println( "我点了一份麦乐鸡!!!" );
}
}
package com.example.gongchang_jiandan;
public class TestActivity
{
public static void main(
String[] args ) throws InstantiationException , IllegalAccessException , ClassNotFoundException
{
//实例化各种食物
Food mcChicken = FoodFactory.getFood( "McChicken" );
Food chips = FoodFactory.getFood( "Chips" );
Food eggs = FoodFactory.getFood( "Eggs" );
//获取食物
if( mcChicken != null )
{
mcChicken.get();
}
if( chips != null )
{
chips.get();
}
if( eggs != null )
{
eggs.get();
}
}
}
输出结果是:
哎呀!找不到相应的实例化类啦!
我点了一份麦乐鸡!!!
我点了一份薯条