ServletConfig接口 为什么又称它是对象

我用的是 JAVA EE 5 API 中文。
上面是这么写的:
public interface javax.servletServletConfig 这句我看懂了 它是个接口。

但是 下面又有一句话:servlet 容器使用的 servlet 配置对象,该对象在初始化期间将信息传递给 servlet。

到底是对象还是接口啊,对象不是类 或者 接口声明的 东西吗?
好混乱 请各位 同志们 帮我 解解惑吧!

还有个问题: 一个接口的属性 不应该是 静态常量吗 public final static 用这个修饰的那种。但是 我看文档里的 properties里面 居然是 两个方法。 Properties
1,public ServletConfig getServletConfig()
2,public String getServletInfo()

我是按着课本上的基本概念理解的 请同志们 帮我指正啊!! 谢谢!!!

同样的疑问,
如果ServletConfig是接口为什么有可以声明对象呢?如下面的config是ServletConfig的对象么?
public void init(ServletConfig config) throws ServletException {
this.config=config;

摘录如下:

当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
首先,需要创建私有变量:private ServletConfig config = null;
其次,要重写init方法,传入config,令this.config = config;从而获得ServletConfig对象

见上,如果ServletConfig是接口,为什么又可以创建私有变量呢?(private ServletConfig config = null;)

三种引用类型变量:数组、接口、类;
上面的private ServletConfig config = null;属于引用类型便利,ServletConfig是接口,引用类型变量可以指向子类对象