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

关于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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?