日期:2014-05-19  浏览次数:20863 次

类似getServletConfig(),getServletName()这样的出现在servlet中的方法为什么前面都不用加对象名?它们的调用者是谁?困惑..
如果写个servlet,让web容器(如tomcat)在启动的时候加载初始化. 
Java code

public class TestinitServlet extends HttpServlet
{
    public void init()throws ServletException{   
            String name=getServleConfig().getServletName();//这里就直接用到了getServletConfig()方法,我不明白为什么可以这么用.它的调用者是谁?不是应该写成xxx.getServletConfig()/XXX.getServletConfig()这种形式吗(xxx为对象,XXX为类名).如果这里省略的是this. 那这个this是谁?搞不清楚   
            name=getServletName();   //这个也是同样的疑问,为什么可以不用在方法前面加类/对象 也可以?这个方法的调用者又是谁
            int initvar = 0;
            initvar++;   
            System.out.println("这个servlet的名字:"+name+"   init(): servlet被初始化了了 "+initvar+"次");   
    }  
}




各位大师,小弟刚刚入门,晕啊晕啊.帮我解答下

------解决方案--------------------
加对象名不是太冗余了么 可能是默认的规范
------解决方案--------------------
HttpServlet extends GenericServlet
getServleConfig()和getServletName()都是GenericServlet中的方法
------解决方案--------------------
用this.或者super.都可以。 

就好像,你在A类里调用自己的方法,是否也这么写啊?

Java code
package com.xuz.csdn.june28;

public class MyClass {
    private int i ;
    
    public int getI() {
        return i;
    }

    public void setI(int i) {
        this.i = i;
    }

    public MyClass(int i){
        setI(i);  //就像这样
    }
}