자바에서final의 사용법을 상세히 설명하다

2729 단어 javafinal
개념
final은'바꿀 수 없는'의미를 가지고 비추상류, 비추상적 구성원 방법과 변수를 수식할 수 있다.
  • final로 수식된 클래스는 계승될 수 없고 하위 클래스가 없습니다..
  • final로 수식하는 방법으로 이불류로 덮으면 안 된다(다시 쓰기)
  • final 수식의 변수로 상량을 표시하고 한 번만 값을 부여할 수 있습니다(변수를 설명할 때)
  • 주:
    final은 구조 방법을 수식하는 데 사용할 수 없다.'방법 덮어쓰기'라는 개념은 클래스의 구성원 방법에만 적용되고 클래스의 구조 방법에는 적용되지 않기 때문에 부류의 구조 방법과 자류의 구조 방법 사이에는 덮어쓰는 관계가 존재하지 않기 때문에final로 구조 방법을 수식하는 것은 아무런 의미가 없다.
    부류에서private로 수식하는 방법은 이불류로 덮어쓸 수 없기 때문에private 유형으로 이해할 수 있는 방법은 기본적으로final 형식입니다.
    final 클래스
    클래스를final로 정의하여 이 클래스가 계승되지 못하게 합니다.장면은 다음과 같습니다.
  • 계승을 위해 설계된 클래스가 아니라 클래스 자체의 방법 사이에 복잡한 호출 관계가 있다.이러한 클래스의 하위 클래스를 임의로 만들면 하위 클래스가 상위 클래스의 구현 세부 사항을 잘못 수정할 수 있습니다..
  • 안전한 원인에 처하여 유형의 실현 세부 사항이 확장되는 것을 허락하지 않습니다
  • 대상 모델을 만들 때 이 클래스가 더 이상 확장되지 않을 것이라고 확신합니다..
  • 예: JDK의 java.lang.String 클래스는final 유형으로 정의됩니다.
    public final class String{...}
    final 방법
    어떤 경우, 보안상의 이유로 부류는 부류가 어떤 방법을 덮어쓰는 것을 허락하지 않습니다. 이 방법을final 형식으로 설명할 수 있습니다.
    예: JDK의 java.lang.Object 클래스에서 getClass () 방법은final 형식이고, equals () 방법은final 형식이 아닙니다.
    모든 Object의 하위 클래스는 equals() 메서드를 덮어쓸 수 있지만 getClass() 메서드는 덮어쓸 수 없습니다.
    final 변수
    final 수식의 변수로 값이 변하지 않는 상수를 표시합니다.
    예: JDK의 java.lang. Integer 클래스에는 두 개의 상수가 정의되어 있습니다.
    public static final int   MIN_VALUE = 0x80000000;
    public static final int   MAX_VALUE = 0x7fffffff;
    final 변수에는 다음과 같은 특징이 있습니다.
  • final 수식자는 정적 변수, 구성원 변수와 국부 변수를 수식할 수 있으며 각각 정적 상수, 실례 상수와 국부 상수를 나타낸다
  • 
     public class Demo{
      public static final int MAX_VALUE = 23;  // 
      public static final int MIN_VALUE = 10;  // 
      private final Date birthday = new Date(); // 
     }
    정적 상수는 일반적으로 대문자로 명명되며 단어 간에는 "_"기호가 분리되다.
  • final 수식의 구성원 변수는 초기화되어야 합니다..
  • 
     public class FinalTest {
       final int a = 1;  //   
       static final int b = 2;  //   
       final int c;  // 
       static final int d;  // 
       
       public FinalTest(){
         c = 3;  //   , 
       }
       
       static {
         d = 4;  //   , 
       }
     }
    final 변수는 한 번만 값을 부여할 수 있습니다. 인용 형식의 변수를final로 수식하면 이 변수는 항상 하나의 대상만 인용할 수 있지만 대상의 내용을 바꿀 수 있습니다.
    
     public class FinalTest {
       String str = "";
       public void print(){
         System.out.println(str);
       }  
       public static void main(String[] args){
         final FinalTest finalTest = new FinalTest();
         finalTest.str = "xixihaha";
         finalTest.print();
       }
     }
    요약:
    실제 프로그램에서 final 수식자를 통해 상수를 정의합니다. 목적은 다음과 같습니다.
  • 프로그램의 안전성 향상..
  • 코드 유지보수성 향상..
  • 코드 가독성 제공..
  • 이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되기를 바랍니다.

    좋은 웹페이지 즐겨찾기