Java8

1

에서 @Override 주석 오류를 제거 나는 하나의 방법으로 다음과 같은 인터페이스를 생성 : 나는 인사() 메서드에 인터페이스의 인스턴스를 전달하려고했다Java8

public interface Greeting { 

    public void perform(); 
} 

합니다. (무시하거나 슈퍼 방법을 구현해야하는 방법 (수행) 형 HelloWorldGreeting의) "와 같은 빠른 수정과

public class HelloWorldGreeting implements Greeting { 

@Override 
public void perform() { 
    System.out.println("Hello World"); 

} 
} 

나는 오류가 발생했다가 :

public class Greeter { 

    public void greet(Greeting greeting){ 
    greeting.perform(); 
} 

public static void main(String[] args) {  
    Greeter greeter=new Greeter(); 
} 
} 

나는 인사말 인터페이스의 구현을 생성 @Override 주석 제거 "

또한 컴파일러 구성을 확인했습니다. 1.8 만.

enter image description here

내가 왜 오류가오고있다 알려이나 내가 그것을 해결하는 데 도움 주시기 바랍니다. 미리 감사드립니다.

+1

무엇이 질문입니까? –

+2

나를 위해 잘 작동하는 것 같습니다. –

+0

@ AaronN.Brock 왜 오류가 발생했는지 알려 주시거나 해결하도록 도와주십시오. – sbk

답변

1

왜 오류가 발생하는지 또는 해결하도록 도와주십시오. 최신 클래스 파일은 클래스 파일은 여전히 ​​이전에 언급되기 때문에, 즉 재정의 메서드 서명이 일치하지 않는 생성되지 않는 경우가 발생할 수

. 따라서 프로젝트가 제대로 빌드되고 최신 클래스 파일이 생성되는지 확인하십시오. 일식에서

(상단 바) 프로젝트 -> 깨끗하고 최신 클래스 파일합니다 (project/target/classes 폴더 또는 구성한 다른에서) 생성되고 있는지 확인합니다. 또한 프로젝트에 클래스 파일 생성을 방해 할 수있는 다른 오류가 없는지 확인하십시오. 프로젝트를 만들 수없는 이유에 대해서는 here으로 볼 수도 있습니다.

+0

Project> validate 옵션을 사용했습니다. 오류가 해결되었습니다. 고맙습니다. – sbk

+0

예, 작업 공간 오류로 인해 프로젝트 빌드가 실패합니다 (즉, 최신 소스를 사용하여 .class 파일을 생성하지 않음) – developer

1

"Java 빌드 경로에서 실행 환경의 컴플라이언스 사용"확인란이 선택되어 있습니다. 빌드 경로 정의에서 1.8 JRE를 선택했는지 확인해야합니다. 1.5 JRE가이 오류를 생성합니다.

0

IDE와 비슷합니다. Eclipse는 Java 빌드 경로에서 1.6 이전에 JRE 시스템 라이브러리를 사용하고 있습니다. 그리고이 문제를 해결하기 위해 작업 공간의 기본 JRE (JDK1.8.0_xx)의 시스템 라이브러리를 1.5 라이브러리 대신 구성해야합니다. 당신이 빌드 경로> 고토 당신의

프로젝트를해야이 작업을 수행하려면> 구성은 다음 경로> Java 빌드 경로> 라이브러리 탭

빌드 JRE 시스템 라이브러리를 확인합니다. 아마도이 오류가 발생하기 때문에 1.5 일 것입니다. 라이브러리 추가를 클릭하십시오. 라이브러리 유형 선택 -> JRE 시스템 라이브러리 -> 다음

작업 영역 기본 JRE (jdk 1.8.0_xx)를 설치했다고 가정하십시오. 그렇지 않으면 시스템에 설치된 다른 jre를 선택하십시오. 마침을 클릭하십시오. enter image description here JRE 1.8을 JRE 시스템 라이브러리에 추가해야합니다. 빌드 경로에서 JRE 1.5를 제거하고 적용을 클릭하십시오. Java 컴파일러 확인 JDK 호환성 수준은 여전히 ​​1.8이며 깨끗한 빌드를 수행합니다. 이렇게하면 문제가 해결됩니다.