인터페이스의 멤버변수는 모두 상수라고 하지 않나요? 케이스에 상수를 요구하는 프롬프트를 사용할 수 없는 이유는 무엇입니까?
인터페이스를 사용할 때에는 반드시 초기값을 상수에 대입해야 합니다. 초기값을 주지 않고 직접 작성하면 잘못된 것입니다.
스위치의 경우는 컴파일 타임에 값을 결정해야 하며 String.class.getSimpleName()은 런타임에 알려져야 하므로(실제로는 런타임에 상수임에도 불구하고) 컴파일이 통과될 수 없습니다
그렇습니다. 하나는 컴파일 타임에 필요하고, 다른 하나는 런타임입니다(리플렉션 메서드는 모두 런타임입니다). 저번에 잘못 답변했습니다. - Effective Java를 살펴보니 static final로 수정되어 있었습니다. 제안 사항도 있습니다. 상수를 내보내려면 열거형 클래스를 사용하세요.
不是说接口中的成员变量都是常量吗请问这句话从哪里听来的?常量需要使用static final수정, 초기값을 주어야 함
不是说接口中的成员变量都是常量吗
static final
인터페이스를 사용할 때에는 반드시 초기값을 상수에 대입해야 합니다. 초기값을 주지 않고 직접 작성하면 잘못된 것입니다.
스위치의 경우는 컴파일 타임에 값을 결정해야 하며 String.class.getSimpleName()은 런타임에 알려져야 하므로(실제로는 런타임에 상수임에도 불구하고) 컴파일이 통과될 수 없습니다
그렇습니다. 하나는 컴파일 타임에 필요하고, 다른 하나는 런타임입니다(리플렉션 메서드는 모두 런타임입니다). 저번에 잘못 답변했습니다. - Effective Java를 살펴보니 static final로 수정되어 있었습니다. 제안 사항도 있습니다. 상수를 내보내려면 열거형 클래스를 사용하세요.
不是说接口中的成员变量都是常量吗
请问这句话从哪里听来的?常量需要使用
static final
수정, 초기값을 주어야 함