抽象类接口类

抽象类可以实现接口的某个方法,而不需要实现所有方法

一个类继承抽象类,必须实现抽象类实现接口时未实现的方法

一个类继承抽象类,抽象类已经实现接口的方法,这个方法在该类中可实现也可不实现

例子:

       

public abstract interface Ajax
{
  public abstract void setCharacterEncoding(String paramString);

  public abstract void setDataResult(Map<String, Object> paramMap);

  public abstract void doBusiness();

  public abstract void doHandle(AjaxVo paramAjaxVo);

  public abstract void setDataResultKey(String paramString);
}

-----------------------------------------------------------------------

public class SimpleAjax extends DefaultAjax
{
  public SimpleAjax(String encoding, Map<String, Object> dataResult, String ajaxKey)
  {
    setCharacterEncoding(encoding);
    setDataResult(dataResult);
    setDataResultKey(ajaxKey);
    super.doBusiness();
  }

  public void setCharacterEncoding(String encoding)
  {
    this.encoding = encoding;
  }

  public void setDataResult(Map<String, Object> dataResult)
  {
    this.dataResult = dataResult;
  }

  public void doHandle(AjaxVo vo)
  {
  }

  public void setDataResultKey(String dataResultKey)
  {
    this.dataResultKey = dataResultKey;
  }
}

-----------------------------------------------------------

public abstract class DefaultAjax
  implements Ajax
{
  static Logger log = Logger.getLogger(DefaultAjax.class);
  protected Map<String, Object> dataResult = null;
  protected String encoding = "utf-8";
  protected String dataResultKey = null;

  public void doBusiness()
  {
    if ((this.dataResult == null) || (this.dataResult.get(this.dataResultKey) == null))
      return;

    HttpServletResponse resp = Struts2Utils.getResponse();
    resp.setCharacterEncoding(this.encoding);
    PrintWriter pw = null;
    try {
      pw = resp.getWriter();
    } catch (IOException e) {
      log.error(e.getMessage());
      throw new RuntimeException(e.getMessage());
    }
    pw.print(this.dataResult.get(this.dataResultKey).toString());
    pw.close();
  }
}

-----------------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值