>Java >java지도 시간 >Java에서는 final 키워드만 사용하여 상수를 정의할 수 있나요?

Java에서는 final 키워드만 사용하여 상수를 정의할 수 있나요?

王林
王林앞으로
2023-09-20 16:17:021424검색

Java에서는 final 키워드만 사용하여 상수를 정의할 수 있나요?

상수변수는 값이 고정되어 프로그램 내에 단 하나의 복사본만 존재하는 변수입니다. 상수 변수를 선언하고 값을 할당하면 프로그램 전체에서 해당 값을 다시 변경할 수 없습니다.

다른 언어와 달리 Java는 상수를 직접 지원하지 않습니다. 그러나 변수를 static 및 final으로 선언하여 상수를 생성할 수 있습니다.

Static - 정적 변수를 선언하면 컴파일 타임에 메모리에 로드됩니다. 즉, 복사본 하나만 사용할 수 있습니다.

Final - 최종 변수를 선언하면 해당 값을 수정할 수 없습니다.

그러므로 인스턴스 변수를 static 및 final로 선언하여 Java에서 상수를 만들 수 있습니다.

Example

Demonstration

class Data {
   static final int integerConstant = 20;
}
public class ConstantsExample {
   public static void main(String args[]) {
      System.out.println("value of integerConstant: "+Data.integerConstant);
   }
}

Output

value of integerConstant: 20
value of stringConstant: hello
value of floatConstant: 1654.22
value of characterConstant: C

정적 키워드가 없는 상수

정적 키워드 없이 최종 변수를 생성하면 해당 값은 수정할 수 없지만 새 객체가 생성될 때마다 별도의 복사본이 생성됩니다. 변하기 쉬운.

Example

예를 들어, 다음 Java 프로그램을 고려해보세요.

온라인 데모

class Data {
   final int integerConstant = 20;
}
public class ConstantExample {
   public static void main(String args[]) {
      Data obj1 = new Data();
      System.out.println("value of integerConstant: "+obj1.integerConstant);
      Data obj2 = new Data();
      System.out.println("value of integerConstant: "+obj2.integerConstant);
   }
}

Output

value of integerConstant: 20
value of integerConstant: 20

여기서 최종 변수를 생성하고 두 개체를 사용하여 해당 값을 인쇄하려고 했습니다. 변수 값은 사이에 있지만 두 개는 인스턴스에서 동일하지만 각 인스턴스에 대해 서로 다른 개체를 사용하므로 실제 변수의 복사본입니다.

상수 정의에 따르면 전체 프로그램(클래스)에는 변수 복사본이 하나만 있어야 합니다.

따라서 정의에 따라 상수를 생성하려면 이를 static 및 final로 선언해야 합니다.

위 내용은 Java에서는 final 키워드만 사용하여 상수를 정의할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제