ホームページ  >  記事  >  Java  >  Java が「'void' Type Not allowed here」エラーをスローするのはなぜですか?

Java が「'void' Type Not allowed here」エラーをスローするのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-17 13:33:01976ブラウズ

Why Does Java Throw a

「'void' type not allowed here」エラーの背後にある謎を明らかにする

「void type not allowed here」エラーが発生する場合は、以下の可能性があります。不可解だ。その重要性を理解するために、そのコンテキストを詳しく見てみましょう。

以下のコード スニペットを考えてみましょう:

class obj {
    public static void printPoint(Point p) {
        System.out.println("(" + p.x + ", " + p.y + ")");
    }

    public static void main(String[] arg) {
        Point blank = new Point(3, 4);
        // This line generates the error
        System.out.println(printPoint(blank));
    }
}

このコードをコンパイルしようとすると、次のエラー メッセージが表示されます:

obj.java:12: 'void' type not allowed here
        System.out.println(printPoint(blank));
                                               ^
1 error

何が問題だったのでしょうか?

エラーの根本は printPoint メソッドにあります。その宣言では、値を返さないことを意味する void を返すことが指定されています。その結果、メイン メソッドが printPoint の戻り値 (void です) を出力しようとすると、「ここでは void 型は使用できません」エラーが発生します。

エラー メッセージの意味は何ですか?

エラー メッセージは、メソッドの戻り値の型によってその戻り値で何ができるかが決まることを明確に示しています。この場合、printPoint メソッドは void を返すため、System.out.println() を使用してその戻り値を出力することはできません。

解決策

この問題を修正するにはの場合は、コードを変更して、printPoint 戻り値の不必要な出力を排除する必要があります。代わりに、次のように printPoint メソッドを直接呼び出す必要があります:

printPoint(blank);

これにより、型の不一致が解消され、コードが正しくコンパイルおよび実行できるようになります。

以上がJava が「'void' Type Not allowed here」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。