Java中使用的方法公众诠释,而不是公共静态INT

问题描述:

我想用“公众诠释CountWord”,而不是“公共静态INT CountWord”,下面的代码它给我的错误,不能使静态参考来自CountWord类型的非静态方法CountWord(String,String),为什么我得到这个错误以及如何在不使用静态关键字的情况下使用它。 感谢Java中使用的方法公众诠释,而不是公共静态INT

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

public int CountWord(String word, String textFilePath){ 

} 
+3

我强烈建议你阅读Java教程(https://docs.oracle。 com/javase/tutorial /),这是一个非常基础的语言机制,不应该在这里被问到。 –

尝试创建类的instance调用这样的方法:

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){ 

    } 
+3

有没有理由回答确切的重复 – Idos

+0

除非他们两人同时发送 –

+0

我写了berfore,这是有用的 – Abdelhak

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){ 
     } 
} 

static表示该方法属于一个对象。为了使用这个方法,你必须首先创建一个声明该方法的类的对象。

假设你的类如下所示:

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"); 
    }