public void sendFile(String filename){
File file = new File(Processor.WEB_ROOT+filename);


}
public void sendFile(String filename){
File file = new File(this.WEB_ROOT+filename);


}以上是Processor类里的同一个方法。
WEB_ROOT是这样的:
public final static String WEB_ROOT="F:\\workspace\\asdfgh\\htdocs";用这两种方式调用有什么区别?
难道它们2个表示的不是同一个东西吗?

解决方案 »

  1.   

    就你这个程序而言,没有区别类中:static 的变量,属于类变量,也就是说这个类的所有成员共享的。。在内存中只有一份。即使你有再多的类实例这个变量也只有一份。所以你用this操作也好,用类名点也好。。其实操作都是同一个变量。不过习惯上,是用类名来点,因为他是类变量,这样阅读性好一点,也更符合我们的编码规范
      

  2.   

    首先 这两种写法在程序执行时是没有区别的因为你定义的是 final类型的 静态常量
    public final static String WEB_ROOT所以一般 都是用类名.  
      

  3.   

    就本程序而言,没有什么区别!执行起来,那个this本来就保存着Processor类的引用