2012-12-14 7 views
4

가능한 경우 수정 자 'final'을 사용하도록 코드 스타일을 설정할 수 있습니다. 불행히도이 수정자는 인터페이스에도 설정됩니다. 하지만 거기에는 말이되지 않습니다. 인터페이스에서 메서드 매개 변수에 대한 수정 자 'final'을 설정하지 못하게 할 수 있습니까? 필드를 지우지 않는 것이 좋습니다. 이들은 항상 최종적이고 정적입니다. 내가 'PARAM'대신인터페이스에서 마지막 수정 자 금지

public interface MyService { 
    void aMethod(final String param); 
} 

public interface MyService { 
    void aMethod(String param); 
} 

같은 방법 PARAMS을 의미 '최종'코드의 논리를 변경할 수 있지만, 그것은 필요하지 않습니다.

+0

약점이없는 것은 인터페이스에 최종 필드가 아닌 것을 만드는 것입니다. –

+0

나는 당신과 동의한다, 그러나 나는 분야를 의미하지 않는다. 인터페이스의 메소드 매개 변수를 의미합니다. – Cengiz

+0

인터페이스의 필드는 항상 최종적이며 final 또는 final로 선언 된 것과 상관 없습니다. 어쨌든, 나는 문제를 재현 할 수 없다. 가능한 한 최종 사용 "을 설정하고 정리를 실행하지만 인터페이스는 변경되지 않습니다. – Behnil

답변

2

interfaceclass의 동작을 지정할 수는 없지만 매개 변수에 final을 붙이면 중지 할 수 있습니다.

Preferences -> Java -> Code Style -> Clean Up으로 이동하여 프로필을 편집하고 Code Style 탭을 선택하십시오. 하단의 Variable Declarations에서 Parameter 확인란의 선택을 취소하십시오.

+0

최종 수정자를 클래스 수준에서 원합니다. 거기에 의미가 있습니다. – Cengiz

+1

나는 너에게 운이 없다고 생각한다. 클래스와 인터페이스를 구별 할 수있는 방법을 모르겠습니다. – Dave