回 帖 发 新 帖 刷新版面

主题:那位高手帮忙解释一下

关于接口的 
既然接口中的方法都未实现,也就是说接口中的方法是没有功能的 
那么为什么在程序中总会看到用 接口对象 调用接口中的方法? 
比如说 
HttpServletRequest req; 
req.getparameter("test"); 
getparameter 是接口中的方法,不是应该是空方法么? 

回复列表 (共5个回复)

沙发

关注!~

板凳

接口中定义类方法的原型,但是不能说是空方法,因为空方法的意思是有实现体,只不过实现体是空操作。实际上接口没有定义任何实现体。具体的实现体都是在实现接口的类中,接口只是定义了这些方法的调用方式。

3 楼

谢了
那么,HttpServletRequest req; 
        req.getparameter("test"); 怎么解释
req难道不是接口对象?

4 楼

接口不能有对象,
接口只是定义怎么做
具体的实现是由实现接口的类来做!

5 楼


HttpServletRequest是接口(只提供方法的声明,但不实现),req是实现这个接口的类(不过这类是什么我不知道,假设叫sonclass,它是实现了HttpServletRequest接口的实现类)的对象。举个例子会好说些!
如:servlet的depost(HttpServletRequest req,HttpServletResponse res)方法中的 req其实在传之前是sonclass的对象。所以可以用HttpServletRequest 中的方法。

我来回复

您尚未登录,请登录后再回复。点此登录或注册