Java 总是在前面调用什么:servletContextListener方法或构造函数?

Java 总是在前面调用什么:servletContextListener方法或构造函数?,java,jax-ws,servletcontextlistener,Java,Jax Ws,Servletcontextlistener,代码如下: @WebService(...) public class service implements someInterface, ServletContextListener { public service() { // action1 } public void contextInitialized(...) { // action2 } } 问:什么操作总是第一个?方法contextInitia

代码如下:

@WebService(...)
public class service implements someInterface, ServletContextListener
{
    public service()
    {
        // action1
    }

    public void contextInitialized(...)
    {
        // action2
    }
} 

问:什么操作总是第一个?

方法
contextInitialized
是属于的方法。为了获得这样一个实例,必须首先调用类
服务
。因此,将首先调用构造函数。其他任何东西在Java技术上都是不可能的


还有一点需要注意:用大写字母拼写类是Java的惯例。为了使代码更具可读性,您应该遵守此约定。

System.out.println(“was called!”)有什么原因不知道吗?请遵循CamelCasingConventions中的类和方法名称。我问了ServletContextListener方法的工作原理。系统输出。。。您所说的没有意义,因为
ServletContextListener
仅仅描述了您约定提供的方法;您可以完全控制在所有方法中散布该输出(或任何其他适合您的环境的输出)。-1。正如mah指出的,基本调试可以回答这个问题,谢谢您的回复。我认为它可以有一些特定的功能。假设,不需要调用任何构造函数就可以创建类的实例。然而,这是一种JVM攻击,只用于内部,例如提供反序列化。通常,您永远不会遇到对象的这种构造。另一方面,为框架提供默认构造函数,以便在调用其生命周期方法之前创建实例,这在另一方面非常常见。感谢您的建议!