接口变量如何在JAVA中工作并调用接口方法?

阿卡什

我知道以下所有Java接口规则:

  1. 您不能实例化接口。
  2. 接口不包含任何构造函数。
  3. 接口中的所有方法都是抽象的。
  4. 接口不能包含实例字段。必须在接口中出现的唯一字段必须声明为static和final。
  5. 接口不是由类扩展的;它是由一个类实现的。
  6. 一个接口可以扩展多个接口。

现在我的问题是我们如何创建接口EntityManager的变量并使用其方法(如下面的给定代码):

import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Stateful
public class Movies {

    @PersistenceContext(unitName = "movie-unit")
    private EntityManager em;   // Here declaring a variable of an Interface

    public void addMovie(Movie movie) throws Exception {
        em.persist(movie);      // Here using variable of an Interface to call its method
    }
}

请对此进行一些说明,以便使我对这段代码的工作方式更加清楚!

巨人

您没有在这里创建任何东西,容器是。您要做的就是声明要注入的依赖项,这就是DI在JavaEE中的工作方式。对正在发生的事情非常简单的看法:

  • 您的MoviesEJB由容器代理

  • 代理对您的类进行自省,并发现您声明的注释以及您在其上声明的字段

  • 容器为EntityManager代理提供的实例,从而使代理可用于您的实现。

Presto:即时EntityManager请注意,您参与该过程的时间很少?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在扩展接口方法中设置“ this”以键入变量

如何在该接口类型的对象上调用实现接口的类中的方法?

如何在Java接口默认方法中模拟静态变量?

如何从Java Stream中的接口调用MapStruct方法

接口如何在JavaScript中工作?

从 Java 接口调用方法

Java接口方法调用

比较器接口如何工作以及如何在内部调用compare()方法

如何在Scala中扩展包含通用方法的Java接口?

如何在Clojure中实现Java接口

如何通过接口类型检测Java局部变量,然后找到在其上调用的方法?

接口调用的Java方法重载

Java接口-方法调用返回

如何调用这些接口方法?

如何直接调用接口方法?

当您有接口数组时,如何使用变量接口调用方法?

如何在Clojure中的类中调用Java化接口?通话无法解决

默认和静态方法如何在Java 8接口中工作?

java:垃圾回收如何在接口和类中声明的静态最终String对象工作

如何在空接口上直接调用String方法?

如何在重写实现中调用方法的接口的默认实现?

如何在golang中调用接受接口切片作为参数的方法?

接口加载完成后,如何在PyQt5中调用方法?

如何在C#中的基类上调用显式接口方法?

如何在同一个类中调用接口方法?

如何在实现导入接口的抽象类中调用方法?

java中如何限制对未知方法参数的接口方法调用

如何在CDI bean中调用服务类接口

如何在 TypeScript 中声明和调用嵌套接口?