개발툴/이클립스, STS

Eclipse로 프로젝트를 가져온 후 '수퍼 클래스 메서드를 재정의해야 함'오류

Rateye 2021. 6. 8. 14:24
728x90
반응형
질문 : Eclipse로 프로젝트를 가져온 후 '수퍼 클래스 메서드를 재정의해야 함'오류

프로젝트를 Eclipse로 다시 가져와야 할 때마다 (Eclipse를 다시 설치하거나 프로젝트의 위치를 변경 한 경우) 거의 모든 재정의 된 메서드가 올바르게 형식화되지 않아 오류가 발생합니다.

메서드는 수퍼 클래스 메서드를 재정의해야합니다.

어떤 이유로 든 이것이 Android 프로젝트에 있다는 점을 언급하는 것이 주목할 만합니다. 메소드 인수 값이 항상 채워지는 것은 아니므로 직접 수동으로 채워야합니다. 예를 들면 :

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {      //These arguments have their correct names     public void onCreateContextMenu(ContextMenu menu, View v,                                      ContextMenuInfo menuInfo) {                      }  }); 

처음에는 다음과 같이 채워집니다.

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {      //This methods arguments were not automatically provided         public void onCreateContextMenu(ContextMenu arg1, View arg2,                                     ContextMenuInfo arg3) {     }  }); 

이상한 점은 내 코드를 제거하고 Eclipse가 메서드를 자동으로 다시 생성하도록하면 이미 가지고있는 것과 동일한 인수 이름을 사용하므로 문제가 어디에 있는지 실제로 알지 못합니다. 나를.

이것은 수동으로 재정의 된 모든 메서드를 수동으로 다시 만들어야하는 매우 고통스러워집니다. 왜 이런 일이 발생했는지 또는 해결 방법을 설명 할 수 있다면. 나는 기쁠 것이 야.

다른 메서드의 인수 안에있는 메서드를 형식화하는 방식 때문일 수 있습니다.

답변

Eclipse는 기본적으로 Java 1.5로 설정되어 있으며 인터페이스 메서드를 구현하는 클래스가 있습니다 (Java 1.6에서는 @Override 로 주석을 달 수 있지만 Java 1.5에서는 수퍼 클래스 메서드를 재정의하는 메서드에만 적용 할 수 있음).

프로젝트 / IDE 환경 설정으로 이동하여 Java 컴파일러 레벨을 1.6으로 설정하고 Eclipse에서 프로그램을 실행하기 위해 JRE 1.6을 선택했는지 확인하십시오.

출처 : https://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing-a-project-into-eclips
728x90
반응형