2013-10-13 3 views
1

나는 다음과 같은 내용의 게시물을 읽었습니다. "자바 상수는 정적 인 최종 변수입니다."Java에서 인터페이스 변수가 암시 적으로 정적 인 이유는 무엇입니까?

나는 이것이 진실인지 이해하지 못합니다. 왜 그것을 최종으로 표시하지 않는 이유는 무엇입니까?

왜 "정적"수정자를 추가해야합니까? 인터페이스 내부의 마지막 필드 인 경우 이미 불변이며 구현 클래스간에 공유됩니다.

누군가 나를 위해 이것을 정리해 주시면 고맙겠습니다.

+2

정적 수정자를 인터페이스에 추가 할 필요가 없습니다. 당신은 당신의 제목에있는 질문 또는 당신의 원본에있는 질문을 질문하고 있습니까? – EJP

답변

2

인터페이스는 상수를 저장하므로 변수는 public static final으로 선언됩니다.

  1. 상수 값이 변경되지 않습니다, 따라서 최종 :
    지금, 매우 직관적이다.
  2. 인터페이스를 구현하는 모든 클래스는 상수 값에 대해 하나의 값만 가져야합니다. 따라서 static
  3. public 모두가 상수 값에 액세스해야합니다. 여기

specification의 말씀입니다 :

인터페이스의 몸에있는 모든 필드 선언 암시 입니다, 공공 정적, 그리고 마지막. 이러한 필드에 대해 또는 이러한 수정자를 모두 중복하여 지정할 수 있습니다.

+1

그 반대가 아닌가요? 인터페이스가'public static final' 때문에 상수 값을 저장하는 데 사용되지 않았습니까? – Pshemo

+0

@Pshemo 편집을보세요. 더 나은가요? –

관련 문제