关于servletConfig的一点疑问?????? ServletConfig是接口,这个是sun做servlet规范的时候提出的不同的app server对这个规范有自己的实现不管是tomcat或者是weblogic等服务器,都会对这些接口有自己的实现你在服务器上运行的时候这些方法实际上返回的是接口的实现类 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你眼睛所能看到的,只是一个名字,一个对对象的引用而已。普通类可以定义一个名字,接口也可以定义一个名字,它们都只是引用内存中的某个对象而已。所有的类或接口都可以定义一个名字引用其子类或实现了该接口的对象。你所说的servletConfig ,实际上只是引用了服务器已经实现的一个对象(该对象实现了ServletConfig接口),也就是说,其实这个serveltConfig,其具体的类名是实现了该接口的另一个类(这个类的名字你可以通过api文档查到,也可以在运行时设置断点debug检查该接口的值),如果知道具体的类,你可以强制转换成具体的类。不知我这样说够详细没有。 楼主对接口的概念实在是不明确.接口不依托于一个实现就没有任何存在的价值.接口是一种实现多态的重要手段接口不可以实例化,但是实现接口的类是可以实例化的.举个例子定义一个接口interface Idemo{ public void add(Object obj); public Object remove(int index);}实现这个接口class Mydemo implements Idemo{ ArrayList m_List; public void add(Object obj) { this.m_List.add(obj); } public Object remove(int index) { this.m_List.remove(index); }}class MainClass{ public void do() { Idemo de =createDemo(); demo.add(new String("HelloWorld"); demo.remove(0); } //实际上在createDemo方法中: private createDemo() { return new Mydemo(); /*注意,我构造的其实是一个Mydemo类, 因为它实现了Idemo接口,所以我可以上述造型到Idemo,从而隐藏了Mydemo的真实类型*/ }}所以实际实例化的是Mydemo, 而不是Idemo ,而调用的时候,也是调用的Mydemo.add 和Mydemo.remove. 你可以认为,Idemo de 和 MyDemo 绑定到一块了.Idemo 是契约, Mydemo是实现. init(servletConfig config)是对象的引用...config是作为servletConfig对象的引用传进来的getServletConfig()同样也是引用我在这里引用紫龙的话..ServletConfig是接口,这个是sun做servlet规范的时候提出的不同的app server对这个规范有自己的实现不管是tomcat或者是weblogic等服务器,都会对这些接口有自己的实现你在服务器上运行的时候这些方法实际上返回的是接口的实现类满足ServletConfig接口的对象.. 你在服务器上运行的时候这些方法实际上返回的是接口的实现类你可以取得它的CLASSNAME看看它的实际类型就是了. SSH2上传图片怎么实现 调查下spring的使用情况!!!!! 如何对几个不同的数据库同时做事务处理 对于j2se分层的疑惑 用xfire+Spring开发webservice接口问题 在同一机器上client调用webservice不成功 关于<logic:iterate>与<html:text>标签的关联问题 关于程序员的职业规划 为什么tomcat不加载我的validation.xml文件 一个关于java消息系统的问题 紧急求助一个问题 10061问题---100分求解 jsf缓存问题,请高人指点;
不知我这样说够详细没有。
接口不依托于一个实现就没有任何存在的价值.
接口是一种实现多态的重要手段接口不可以实例化,但是实现接口的类是可以实例化的.
举个例子
定义一个接口
interface Idemo
{
public void add(Object obj);
public Object remove(int index);
}实现这个接口
class Mydemo implements Idemo
{
ArrayList m_List;
public void add(Object obj)
{
this.m_List.add(obj);
} public Object remove(int index)
{
this.m_List.remove(index);
}
}class MainClass
{
public void do()
{
Idemo de =createDemo();
demo.add(new String("HelloWorld");
demo.remove(0);
}
//实际上在createDemo方法中:
private createDemo()
{
return new Mydemo();
/*注意,我构造的其实是一个Mydemo类, 因为它实现了Idemo接口,所以我可以上述造型到Idemo,从而隐藏了Mydemo的真实类型*/
}
}所以实际实例化的是Mydemo, 而不是Idemo ,而调用的时候,也是调用的Mydemo.add 和Mydemo.remove.
Idemo 是契约, Mydemo是实现.
getServletConfig()同样也是引用
我在这里引用紫龙的话..ServletConfig是接口,这个是sun做servlet规范的时候提出的
不同的app server对这个规范有自己的实现
不管是tomcat或者是weblogic等服务器,都会对这些接口有自己的实现
你在服务器上运行的时候这些方法实际上返回的是接口的实现类
满足ServletConfig接口的对象..
你可以取得它的CLASSNAME看看它的实际类型就是了.