>Java >java지도 시간 >Java에서 '여기에서는 'void' 유형이 허용되지 않습니다.' 오류가 발생하는 이유는 무엇입니까?

Java에서 '여기에서는 'void' 유형이 허용되지 않습니다.' 오류가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-17 13:33:011065검색

Why Does Java Throw a

"여기서 'void' 유형은 허용되지 않습니다." 오류 뒤에 숨겨진 미스터리

"여기서는 허용되지 않는 void 유형" 오류가 발생할 수 있습니다. 수수께끼. 그 중요성을 이해하기 위해 해당 컨텍스트를 자세히 살펴보겠습니다.

아래 코드 조각을 고려하세요.

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' 유형이 허용되지 않습니다.' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.