Java使用方法public int代替public static int

Java使用方法public int代替public static int,java,static,count,Java,Static,Count,我想使用“public int CountWord”而不是“public static int CountWord”,下面的代码给出了一个错误,即无法从CountWord类型中静态引用非静态方法CountWord(String,String),为什么会出现此错误,以及如何在不使用static关键字的情况下使用它。 谢谢 尝试创建类的实例,以如下方式调用该方法: public static void main(String[] args) { ClassName cn = n

我想使用“public int CountWord”而不是“public static int CountWord”,下面的代码给出了一个错误,即无法从CountWord类型中静态引用非静态方法CountWord(String,String),为什么会出现此错误,以及如何在不使用static关键字的情况下使用它。 谢谢


尝试创建类的
实例
,以如下方式调用该方法:

   public static void main(String[] args) {
        ClassName cn = new ClassName();
        System.out.println(cn.CountWord("the","test.txt"));
    }

    public int CountWord(String word, String textFilePath){

    }
public class WordCounter{
    public int countWord(String word, String textFilePath){
         ....
    }
}
    public static void main(String[] args){
         WordCounter counter = new WordCounter();
         counter.countWord("I am a String", "I am too");
    }
bcoz
CountWord()
是一个替代方法,要在
main()
(一个静态方法)中访问它,您需要一个
CountWord()类的实例

例如:

class Test{

     public static void main(String[] args) {
            Test t = new Test();
            System.out.println(t.CountWord("the","test.txt"));
        }
     public int CountWord(String word, String textFilePath){
        }
}
静态意味着该方法属于一个对象。要使用此方法,必须首先创建声明该方法的类的对象

假设您的类如下所示:

   public static void main(String[] args) {
        ClassName cn = new ClassName();
        System.out.println(cn.CountWord("the","test.txt"));
    }

    public int CountWord(String word, String textFilePath){

    }
public class WordCounter{
    public int countWord(String word, String textFilePath){
         ....
    }
}
    public static void main(String[] args){
         WordCounter counter = new WordCounter();
         counter.countWord("I am a String", "I am too");
    }
那么您的主要方法如下所示:

   public static void main(String[] args) {
        ClassName cn = new ClassName();
        System.out.println(cn.CountWord("the","test.txt"));
    }

    public int CountWord(String word, String textFilePath){

    }
public class WordCounter{
    public int countWord(String word, String textFilePath){
         ....
    }
}
    public static void main(String[] args){
         WordCounter counter = new WordCounter();
         counter.countWord("I am a String", "I am too");
    }

没有理由回答完全重复的问题,除非它们都在同一时间点击了send。我是berfore写的,这很有用。我强烈建议您阅读Java教程(),这是一个非常基本的语言机制,不应该在这里被问到。