接口的作用:更加灵活

 以静态代理模式为例:

如果在代理类中这么写,不够灵活:

 改成:

public   Interface  SuperStar
{
   public void  Sing();
}


public  class  SuperStarLiu
{
     @Override
     public void  Sing()
     {
         System.out.println("SuperStarLiu唱歌");
     }
}


public  class  SuperStarZhou
{
     @Override
     public void  Sing()
     {
         System.out.println("SuperStarLZhou唱歌");
     }
}


public class  Agent implements  SuperStar
{
   public    SuperStar  target;

   public  Agent(SuperStar target)//构造方法,这里使用接口就使得你既可以传入SuperStarLiu,也可以传入SuperStarZhou,相当灵活
   {
      this.target=target;
   }

   public void  Sing()
   {
      target.sing();
   }
}


Agent  agent1 =new  Agent(new SuperStarLiu());
agent1.Sing();

Agent  agent2 =new  Agent(new SuperStarZhou());
agent2.sing();



灵活性就体现在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值