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攻击,只用于内部,例如提供反序列化。通常,您永远不会遇到对象的这种构造。另一方面,为框架提供默认构造函数,以便在调用其生命周期方法之前创建实例,这在另一方面非常常见。感谢您的建议!