일반적으로 최종 정적 멤버, 특히 변수 (또는 정적 최종 변수는 의미가 겹치지 않고 어느 순서로든 사용할 수 있음)는 Java의 인터페이스와 함께 광범위하게 사용되며 구현 클래스의 프로토콜 동작은 인터페이스를 구현 (상속)하는 클래스가 해당 인터페이스의 모든 구성원을 통합해야 함을 의미합니다.Java의 정적 변수와 정적 변수의 차이점
은 내가 최종과 최종 정적 멤버를 구별 할 수없는거야. 최종 정적 멤버는 final 또는 다른 것으로 선언 된 정적 멤버 인 멤버입니까? 특정 상황에서 구체적으로 사용해야합니까?
정적 변수 또는 최종 정적 변수는 정적 메서드 내부 나 인스턴스 메서드 내부에서 선언 할 수 없습니다. 왜?
따라서 다음 코드 세그먼트는 컴파일되지 않으며 컴파일 할 때 컴파일러에서 컴파일 할 때 오류가 발생합니다.
public static void main(String args[])
{
final int a=0; //ok
int b=1; //ok
static int c=2; //wrong
final static int x=0; //wrong
}
static' '필드는 단지 클래스에 따라서 컴파일러 에러가 속할 수있다. 'final'은 첫 번째 초기화 후에 변수가 절대로 변경 될 수 없다는 것을 의미합니다. – brc
@ EJP, 아, 아마도 나는 그 때 착각을합니다. 신경 쓰지 마! – bdonlan
@bdonlan 실제로 인터페이스 변수는 Effective Java에서 안티 패턴으로 구체적으로 언급되었습니다. @EJP, –