// 手机软件public abstract class HandsetSoft { public abstract void Run();}// 手机通讯录public class HandsetAddressList extends HandsetSoft { @Override public void Run() { System.out.println("运行手机通讯录"); }}// 手机游戏public class HandsetGame extends HandsetSoft { @Override public void Run() { System.out.println("运行手机游戏"); }}// 手机品牌public abstract class HandsetBrand { protected HandsetSoft soft;// 设置手机软件 public void SetHandsetSoft(HandsetSoft soft){ this.soft=soft; } public abstract void Run();}// 手机品牌Mpublic class HandsetBrandM extends HandsetBrand { @Override public void Run(){ soft.Run(); }}// 手机品牌Npublic class HandsetBrandN extends HandsetBrand { @Override public void Run(){ soft.Run(); }}public class Test { public static void main(String[] args) { HandsetBrand handsetBrand; // 手机品牌N handsetBrand = new HandsetBrandN(); handsetBrand.SetHandsetSoft(new HandsetGame()); handsetBrand.Run(); handsetBrand.SetHandsetSoft(new HandsetAddressList()); handsetBrand.Run(); // 手机品牌M handsetBrand = new HandsetBrandM(); handsetBrand.SetHandsetSoft(new HandsetGame()); handsetBrand.Run(); handsetBrand.SetHandsetSoft(new HandsetAddressList()); handsetBrand.Run(); }}


