> Java > java지도 시간 > 본문

Java에서 '클래스, 인터페이스 또는 열거형 예상' 오류를 수정하는 방법은 무엇입니까? 예제와 함께 제공

WBOY
풀어 주다: 2023-09-09 08:37:07
앞으로
1376명이 탐색했습니다.

如何修复Java中的“class, interface, or enum expected”错误?附带示例

모든 Java 프로그래머는 초보자든 숙련자든 코드를 작성하는 동안 많은 오류에 직면합니다. 일반적으로 이러한 오류는 런타임 오류와 컴파일 시간 오류로 분류됩니다. 컴파일이 성공한 후 코드를 실행할 때 런타임 오류가 발생하고, 컴파일 중에 컴파일 시간 오류가 발생합니다.

예상된 클래스, 인터페이스 또는 열거형은 소스 코드 컴파일 중에 발생하는 오류입니다. 이는 여러 가지 이유로 발생할 수 있으며 그 중 하나는 잘못된 중괄호입니다. 이 문서에서는 이 오류의 원인과 클래스, 인터페이스 또는 열거형에서 예상되는 오류를 수정하는 해당 방법을 살펴보겠습니다.

Java에서 클래스, 인터페이스 또는 열거형 예상 오류 수정

컴파일 오류는 우리 코드가 Java 프로그래밍 언어의 구문 규칙을 따르지 않는다는 것을 의미합니다. 컴파일러에서 생성된 클래스, 인터페이스 또는 열거형 예상 오류는 Java 컴파일러가 예상하지 못한 내용을 코드에 작성했음을 의미합니다.

클래스, 인터페이스 또는 열거형 오류의 예상 이유는 다음과 같습니다.

  • 교정 문제

  • 선언되지 않은 클래스

  • 클래스 범위 외부에서 메서드 정의

  • 소프트웨어 패키지 문제

이러한 문제를 하나씩 논의하고 이 오류를 해결하는 방법을 알아봅시다.

이유 1: 중괄호 문제

앞서 언급했듯이 클래스, 인터페이스 또는 열거형 예상 오류가 발생하는 가장 일반적인 이유는 중복되거나 잘못 배치된 중괄호입니다. 아마도 프로그래머가 중괄호를 놓치는 경우가 매우 흔하기 때문에 이러한 오류가 자주 발생하는 것 같습니다.

코드를 클래스, 인터페이스 또는 열거형에 넣어야 하기 때문에 실수로 코드에 추가 중괄호를 추가하면 Java 컴파일러는 클래스, 인터페이스 또는 열거형을 기대합니다.

예 1

다음 예는 중괄호를 잘못 배치할 경우 발생하는 오류를 보여줍니다.

아아아아

출력

public class Example1 {
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
} // adding extra curly brace to generate the error
로그인 후 복사

예 2

다음 예에서는 코드에서 불필요한 중괄호를 제거하여 클래스, 인터페이스 또는 열거형 오류를 수정하는 방법을 보여줍니다.

아아아아

출력

Example1.java:8: error: class, interface, enum, or record expected
} // adding extra curly braces to generate the error
^
1 error
로그인 후 복사

이유 2: 클래스가 선언되지 않았습니다.

누군가가 클래스 정의를 잊어버리고 클래스에 코드를 전혀 포함하지 않는 상황이 있을 수 있습니다. 이 경우 Java 지침에 따라 모든 코드 블록이 클래스 내에 정의되어야 하기 때문에 클래스, 인터페이스 또는 열거형 오류가 발생할 수 있습니다. 따라서 각 코드 블록을 클래스로 래핑해야 합니다.

이유 3: 클래스 범위 외부에서 메서드 정의

이 오류가 발생할 수 있는 또 다른 이유는 클래스 범위 외부에서 메서드를 실수로 정의했기 때문입니다.

예 3

아래 예에서는 오류를 생성하기 위해 의도적으로 'main()' 메서드를 클래스 외부에 배치했습니다.

아아아아

출력

public class Example2 {
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
로그인 후 복사

예 4

이전 오류를 수정하려면 예제를 따르고 클래스 내부에 'main()' 메서드를 넣기만 하면 됩니다.

아아아아

출력

Incremented value: 1
로그인 후 복사

이유 4: 패키지 문제

Java 프로그래머가 단일 소스 코드에서 여러 패키지를 선언하면 이 문제가 발생할 수 있습니다.

예 5

이 예에서는 두 개의 패키지를 선언하여 오류를 생성하겠습니다.

으아악

출력

public class Example3 { }
// from below lines we will get error
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
로그인 후 복사

예 6

이 예에서는 클래스, 인터페이스 또는 열거형 예상 오류를 수정하기 위해 정의된 패키지 중 하나를 제거합니다.

아아아아

출력

Example3.java:3: error: class, interface, enum, or record expected
   public static void main(String[] args) {
                 ^
Example3.java:5: error: class, interface, enum, or record expected
      nums++; // incrementing the value
      ^
Example3.java:6: error: class, interface, enum, or record expected
      System.out.println("Incremented value: " + nums);
      ^
Example3.java:7: error: class, interface, enum, or record expected
   }
   ^
4 errors
로그인 후 복사

결론

이 기사에서는 여러 예제 프로그램을 통해 클래스, 인터페이스 또는 열거형 유형에서 예상되는 오류에 대해 배웠습니다. 또한 이 오류의 원인과 해당 수정 사항도 발견했습니다. 잘못 배치된 중괄호가 가장 일반적인 원인입니다.

위 내용은 Java에서 '클래스, 인터페이스 또는 열거형 예상' 오류를 수정하는 방법은 무엇입니까? 예제와 함께 제공의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿