2016-06-14 1 views
-2

私が書いているコードに何が問題なのかよく分かりません。 TextInfoとTextAnalyzerという2つのインターフェースがあります。静的エラー:静的なFileAnalyzerのメソッドが名前 'analyzeFile'を持たない

TextInfoインターフェイスを実装するTextAttributesというオブジェクトを書きました。 TextAttributesとTextInfoはうまく動作し、まさに彼らがやるべきことをします。

次に、TextAnalyzerを実装するFileAnalyzerクラスを作成しました。ここで問題が発生しています。次のコードです:

public class FileAnalyzer implements TextAnalyzer { 

    public TextInfo analyzeFile(String fileName) throws FileNotFoundException { 
     return new TextAttributes(fileName); 
    } 
} 

public interface TextAnalyzer { 
    public TextInfo analyzeFile(String fileName) throws FileNotFoundException; 
} 

FileAnalyzerがちょうどTextAttributes(ファイル名)を返すことになっているのTextInfoオブジェクトであるので、私はものが間違って起こっている場所がわからないんだけど。私が言ったように、他の2つのクラスは完全に機能します。

+1

コンパイルエラーを発生させるために必要なコードを** all **入力してください。あなたは50%の入力しか提供しないと人々があなたに100%答えを与えることは期待できません。 – GhostCat

+0

実際の問題は何ですか? – jr593

+4

あなたの質問の名前では、 'FileAnalyzer'のインスタンスを作成し、' fileAnalyzerObject.analyzeFile'を呼び出すのではなく、 'FileAnalyzer.analyzeFile'を呼び出そうとしていると思います。 – Zircon

答えて

2

Static Error: No method in static FileAnalyzer has name 'analyzeFile'

から、私はanalyzeFileが静的​​ではありませんので、あなたは、次のよう

FileAnalyzer.analyzeFile(); 

でanalyzeFileを呼び出していると仮定しています、あなたはanalyzeFileメソッドを呼び出すためにFileAnalyzerのオブジェクトを作成する必要があります。

FileAnalyzer analyzerObj = new FileAnalyzer(); 

今あなたがanalyzer参照の上analyzeFile()を呼び出すことができます。

analyzerObj.analyzeFile(); 
+0

ありがとう!私の愚かな間違い。 – jmon117

関連する問題