我在项目中看到一个类里定义的变量都是public static final的,问了一下同事说是常量类,为什么要这么定义呢?是因为static是全局的,final是不可修改的吗?那这和定义一个private变量再定义一个get方法有什么区别?
认证0级讲师
정적(static)은 객체 대신 클래스의 멤버로 만드는 것이므로 사용하기 더 쉽습니다
공개는 쉽게 접근할 수 있습니다
final은 이것이 상수이고 수정할 수 없음을 나타냅니다
개인 객체를 정의한 다음 액세스 제어를 위한 get 및 set을 정의합니다. 이는 기존 캡슐화입니다.
결론적으로 public static final는 접근이 매우 편리하며 수정되지 않습니다. 일반적으로 일부 상태 코드 정의뿐만 아니라 구성 정보도 배치될 수 있습니다.
public static final
정적 수정 개체는 참조 루트 아래에 배치되므로 재활용이 거의 발생하지 않습니다.
static은 static입니다. static으로 수정된 변수는 클래스의 인스턴스화된 객체를 참조할 필요 없이 클래스 이름.변수 이름을 사용하여 직접 호출할 수 있습니다. 최종 수정된 변수는 주로 상수를 선언하는 데 사용됩니다. 변수에 처음으로 값이 할당된 경우 변수는 상수와 동일하거나 변수의 값이 고정되어 값을 수정할 수 없는 것으로 이해될 수 있습니다
전역 상수. 예를 들어 프로젝트의 전역 구성은 public static final
private을 정의하면 다른 클래스에서 접근할 수 없습니다. 그렇다면 그러한 끊임없는 정의의 요점은 무엇입니까?
정적 상수, 예를 들어보세요
위 Constant는 다양한 곳에서 상수를 호출해야 할 때 사용하는 상수 클래스입니다
Constant
직접 Constant.OSS_STYLE을 사용하세요
Constant.OSS_STYLE
직접 말하면 접근성을 높이고 코드 가독성을 높이기 위함입니다.
먼저 질문에 답하세요
정적(static)은 객체 대신 클래스의 멤버로 만드는 것이므로 사용하기 더 쉽습니다
공개는 쉽게 접근할 수 있습니다
final은 이것이 상수이고 수정할 수 없음을 나타냅니다
개인 객체를 정의한 다음 액세스 제어를 위한 get 및 set을 정의합니다. 이는 기존 캡슐화입니다.
결론적으로
public static final
는 접근이 매우 편리하며 수정되지 않습니다. 일반적으로 일부 상태 코드 정의뿐만 아니라 구성 정보도 배치될 수 있습니다.기타 추가 사항:
정적 수정 개체는 참조 루트 아래에 배치되므로 재활용이 거의 발생하지 않습니다.
static은 static입니다. static으로 수정된 변수는 클래스의 인스턴스화된 객체를 참조할 필요 없이 클래스 이름.변수 이름을 사용하여 직접 호출할 수 있습니다.
최종 수정된 변수는 주로 상수를 선언하는 데 사용됩니다. 변수에 처음으로 값이 할당된 경우 변수는 상수와 동일하거나 변수의 값이 고정되어 값을 수정할 수 없는 것으로 이해될 수 있습니다
전역 상수. 예를 들어 프로젝트의 전역 구성은 public static final
을 사용하여 수정할 수 있습니다.private을 정의하면 다른 클래스에서 접근할 수 없습니다. 그렇다면 그러한 끊임없는 정의의 요점은 무엇입니까?
정적 상수, 예를 들어보세요
으아악위
Constant
는 다양한 곳에서 상수를 호출해야 할 때 사용하는 상수 클래스입니다직접
Constant.OSS_STYLE
을 사용하세요직접 말하면 접근성을 높이고 코드 가독성을 높이기 위함입니다.