当前位置:编程学习 > JAVA >>

新手求助Java静态方法问题

我在网上看到说定义的静态方法无须实例化就可以直接调用

但是在使用的时候必须要放到static块中才行,怎么回事阿?


  public static synchronized void addDefaultResource(String name) {
    if(!defaultResources.contains(name)) {
      defaultResources.add(name);
      for(Configuration conf : REGISTRY.keySet()) {
        if(conf.loadDefaults) {
          conf.reloadConfiguration();
        }
      }
    }
  }



package MRTest;

import org.apache.hadoop.conf.Configuration;

public class Test {

Configuration.addDefaultResource("conf-1.xml");


public static void main(String[] args) {

}

}

这样的话就报错

如果是这样的话就不报错:

package MRTest;

import org.apache.hadoop.conf.Configuration;

public class Test {
static{
Configuration.addDefaultResource("conf-1.xml");
}

public static void main(String[] args) {

}

}


java --------------------编程问答-------------------- 你这个是在执行一个函数肯定需要在函数里或者静态语句块里吧,静态方法不用实例化是说用这个方法的时候不应实列化这个类 ,可以直接类名点方法使用。你要多看点基础书籍或视频啊 --------------------编程问答-------------------- 哦  我搞明白了 多谢阿 --------------------编程问答-------------------- 或者你导入那个方法的话,类名也是可以不用打的。
当然,不推荐。 --------------------编程问答-------------------- 执行语句必须放到块或者方法中,你这里跟静态方法没关系 --------------------编程问答--------------------

引用 1 楼 huage1998 的回复:
你这个是在执行一个函数肯定需要在函数里或者静态语句块里吧,静态方法不用实例化是说用这个方法的时候不应实列化这个类 ,可以直接类名点方法使用。你要多看点基础书籍或视频啊

正解
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,