请教JNDI建立初始化上下文时Context ctx = new InitialContext(env); 是怎么回事?

时间:2023-01-26 04:27:51
在java的JNDI中,建立JNDI初始化上下文的时候有这样行代码:

Context   ctx   =   new   InitialContext(env); 


但是有一点弄不清楚,Context是一个接口,而new InitialContext(env)是一个对象,这样的类型是什么样的用法呢?请教各位高手,小弟初学,不知道这样的问题是不是有些太幼稚了。多谢大家了。

完整的代码如下:
Hashtable   env   =   new   Hashtable(11); 
             env.put(Context.INITIAL_CONTEXT_FACTORY, 
                        "weblogic.jndi.WLInitialContextFactory "); 
                env.put(Context.PROVIDER_URL, "t3://202.112.146.40:7001 "); 
Context   ctx   =   new   InitialContext(env); 

3 个解决方案

#1


前面的是编译是类型,而后者是运行时类型。java的一个重要特点就是基于接口的编程

#2


这个问题我以前也接触过,开始的时候我也找不到问题的原因,后来我进了一个技术交

流群,这个群里的人挺多的,在里面可以沟通技术,你可以进去看一下.群号是:六二八

七八零四三。另外,这个群里可以接项目。

#3


这样写编译没错是由于InitialContext实现了Context接口,类似于继承,不过
Context   ctx   =   new   InitialContext(env); 
中ctx可使用的方法职能是在Context中声明的方法,InitialContext自己加入的一些方法无法直接使用

#1


前面的是编译是类型,而后者是运行时类型。java的一个重要特点就是基于接口的编程

#2


这个问题我以前也接触过,开始的时候我也找不到问题的原因,后来我进了一个技术交

流群,这个群里的人挺多的,在里面可以沟通技术,你可以进去看一下.群号是:六二八

七八零四三。另外,这个群里可以接项目。

#3


这样写编译没错是由于InitialContext实现了Context接口,类似于继承,不过
Context   ctx   =   new   InitialContext(env); 
中ctx可使用的方法职能是在Context中声明的方法,InitialContext自己加入的一些方法无法直接使用