鹤鸣于九皋
2009-11-11 15:12
浏览 192
已采纳

关于Enumeration接口的一个问题,敬请大家不吝赐教!

在JSP中,可以定义如下:
Enumeration enu = request.getHeaderNames();
Enumeration是一个接口,它不可以实例化,但可以定义接口类型的变量,然后用该标量来引用实现该接口的类的实例。这样的话,以上定义了一个Enumeration类型的变量enu,用enu引用了一个实现Enumeration接口的类的实例。那么就是说request.getHeaderNames()得到了一个实现Enumeration接口的类的实例对象??查API文档request.getHeaderNames()方法它的返回类型是Enumeration,那是不是说的它返回的就是一个实现了Enumeration接口的类的实例?
请大家指点迷津!谢谢大家了。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • lijiepeng 2009-11-11 18:46
    已采纳

    Enumeration的实现类用request.getHeaderNames().getClass();获取下。
    返回Enumeration实例的代码在类request.getClass()这个类里.
    简单的例子:
    [code="java"]
    public interface Enumeration{

    }
    public interface HttpServletRequest {
    public Enumeration getHeaderNames();
    }
    public class EnumerationImpl implements Enumeration {

    }
    public class HttpServletRequestImpl implements HttpServletRequest {
    public Enumeration getHeaderNames() {
    return new EnumerationImpl();
    }
    }
    [/code]

    打赏 评论
  • niqusi00000 2009-11-11 17:47

    Enumeration enu = request.getHeaderNames();
    这句代码以及你看的API上面都清楚的写着它返回的是Enumeration这个接口呀

    打赏 评论

相关推荐 更多相似问题