우선이 내용은 Initialize final variable before constructor in Java과 정확히 일치하지 않습니다. 그것은 아마 관련이 있지만 나를 만족시키는 어떤 대답도 없습니다.최종 변수 할당 : 선언 또는 생성자에서?
제 문제는 스윙 GUI의 최종 변수에 관한 것입니다. 특히 사용자 정의 Action
에 관한 것입니다. 숫자가 final
이고 숫자가 static final
입니다.
질문 : 변수가 실제로 상수이면 무엇이 더 나은가? 구성시이를 초기화하거나 선언시 초기화할까요?
위에서 언급 한 질문에 대한 대답은 일반적으로 변수를 선언 할 때 할당 할 수있게되면 변수 static
을 만드는 것을 가리 킵니다. 변수가 정적 컨텍스트에서 사용되지 않기 때문에 실제로는 나에게 이해가되지 않습니다. 내 양식이 아이콘처럼 사용하는 이미지가 두 개 있습니다. 응용 프로그램이 이미지를 수정하지 않는 한 Image가 정적 인 것이기 때문에 이미지를 정적으로 만들었습니다. 그건 의미가 있습니다.
한편, Action
은 사용자 지정 내부 클래스의 새 인스턴스입니다. 매우 기술적으로 그들은 정적이지만, 단지 다른 느낌입니다. 단순히 은 (는)을 정적 컨텍스트에서 사용할 수 없습니다. 그래서 내가 넣을 :
private final CustomAction customAction = new CustomAction();
또는 나는 그것을 생성자에서 초기화합니까? 어떤게 더 좋아? 아니면 static
에 대해 잘못된 생각을하고 있습니까?
앞서 귀하의 연구를 수행 할 때 +1 –
코드에서 값을 알면 선언에서 초기화하십시오. 건축 중이 아니 네요. – titogeo