Java의 final 키워드 깊이 이해

3698 단어 javafinal
java final 키워드 설명:
선언:
자바의final 키워드는 클래스, 방법, 변수에 응용할 수 있는 매우 중요하다.이 문장에서 나는 너에게 파이널 키워드가 무엇인지 보여줄 것이다.변수, 방법, 클래스를final로 성명하는 것은 무엇을 대표합니까?final을 사용하는 장점은 무엇입니까?마지막으로final 키워드를 사용하는 실례도 있다.final은 자주 static와 함께 사용해서 상수를 설명하는데, 당신도 final이 어떻게 응용 성능을 개선하는지 볼 수 있습니다.
final 키워드의 의미?
final은 자바에서 구성원 변수, 방법, 클래스, 로컬 변수를 설명할 수 있는 보존된 키워드입니다.일단 인용 성명을final로 하면 이 인용을 바꿀 수 없습니다. 컴파일러는 코드를 검사합니다. 변수를 다시 초기화하려고 하면 컴파일러가 컴파일 오류를 보고합니다.
final 변수는 무엇입니까?
구성원 변수나 로컬 변수 (방법의 변수나 코드 블록의 변수를 로컬 변수라고 함) 를 모두final라고 부르는 것을 모두final 변수라고 한다.final 변수는 static 키워드와 함께 상량으로 자주 사용됩니다.다음은 final 변수의 예입니다.

public static final String LOAN = "loan";
LOAN = new String("loan") //invalid compilation error
final 변수는 읽기 전용입니다.
final 방법은 무엇입니까?
final도 방법을 설명할 수 있습니다.방법 앞에final 키워드를 덧붙이면 이 방법이 이불류로 다시 쓰면 안 된다는 것을 나타낸다.만약 하나의 방법의 기능이 충분히 완전하다고 생각한다면, 하위 클래스에서 변경할 필요가 없다면, 이 방법을final이라고 성명할 수 있습니다.final 방법은 비final 방법보다 빠르다. 왜냐하면 컴파일할 때 정적 귀속이 되어 있기 때문에 실행할 때 동적 귀속을 할 필요가 없다.다음은 final 방법의 예입니다.

class PersonalLoan{
  public final String getName(){
    return "personal loan";
  }
}
 
class CheapPersonalLoan extends PersonalLoan{
  @Override
  public final String getName(){
    return "cheap personal loan"; //compilation error: overridden method is final
  }
}
final 클래스는 무엇입니까?
final을 사용하여 수식하는 클래스를final클래스라고 합니다.final 클래스는 일반적으로 기능이 완전해서 계승될 수 없습니다.Java에는 String, Interger 및 기타 포장 클래스와 같은final 클래스가 많습니다.다음은 final 클래스의 예입니다.

 final class PersonalLoan{
 
  }
 
  class CheapPersonalLoan extends PersonalLoan{ //compilation error: cannot inherit from final class
 
}
final 키워드의 장점
다음은final 키워드를 사용하는 장점을 총결하였다
  • final 키워드가 성능을 향상시켰다.JVM과 Java 애플리케이션은 final 변수를 캐시합니다..
  • final 변수는 다중 스레드 환경에서 안전하게 공유할 수 있으며 추가 동기화 비용이 필요하지 않습니다
  • final 키워드를 사용하면 JVM은 방법, 변수 및 클래스를 최적화합니다.
  • 불가변 클래스
    가변 클래스를 만들려면final 키워드를 사용하십시오.불변 클래스는 객체가 생성되면 변경할 수 없다는 것을 의미합니다.String은 불변 클래스의 대표입니다.불변류는 많은 장점이 있다. 예를 들어 그들의 대상은 읽기만 하고 다중 스레드 환경에서 안전하게 공유할 수 있으며 별도의 동기화 비용을 쓰지 않는다.
    final에 대한 중요한 지식점
  • final 키워드는 구성원 변수, 로컬 변수, 방법 및 클래스에 사용할 수 있습니다
  • final 구성원 변수는 성명할 때 초기화하거나 구조기에서 초기화해야 합니다. 그렇지 않으면 컴파일 오류가 발생합니다.
  • final 변수에 다시 값을 부여할 수 없습니다..
  • 로컬 변수는 선언할 때 값을 부여해야 합니다
  • 익명 클래스에서 모든 변수는final 변수여야 합니다..
  • final 방법은 다시 쓸 수 없습니다..
  • final류는 계승될 수 없습니다..
  • final 키워드는finally 키워드와 다르고 후자는 이상 처리에 사용됩니다
  • final 키워드는 finalize () 방법과 헷갈리기 쉽고 후자는 Object 클래스에서 정의한 방법으로 쓰레기를 회수하기 전에 JVM에 호출되는 방법입니다
  • 인터페이스에서 성명된 모든 변수 자체는final의..
  • final과 abstract라는 두 키워드는 반관련이므로final류는 abstract일 수 없습니다..
  • final 방법은 컴파일 단계에서 귀속되며 정적 귀속(static binding)이라고 부른다
  • 성명할 때final 변수를 초기화하지 않은 것을 공백final 변수(blank final variable)라고 하는데, 구조기에서 초기화하거나this()를 호출하여 초기화해야 합니다.이렇게 하지 않으면 컴파일러가 "final 변수 (변수 이름) 를 초기화해야 합니다."라고 잘못 보고할 수 있습니다
  • 클래스, 방법, 변수를 final로 선언하면 성능을 향상시킬 수 있다. 그러면 JVM이 예측하고 최적화할 수 있는 기회가 생긴다..
  • 자바 코드 관례에 따르면final 변수는 상량이고 통상적인 상량명은 대문자로 써야 한다.
  • 
    private final int COUNT = 10;
    집합 대상이final이라고 성명하는 것은 인용이 변경될 수 없지만 그 안에 내용을 추가하거나 삭제하거나 변경할 수 있다는 것을 가리킨다.예:
    
    private final List Loans = new ArrayList();
    list.add(“home loan”); //valid
    list.add("personal loan"); //valid
    loans = new Vector(); //not valid
    
    우리는final 변수,final 방법,final 클래스가 무엇인지 이미 알고 있다.필요할 때final을 사용하면 더 빠르고 더 좋은 코드를 쓸 수 있습니다.
    읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

    좋은 웹페이지 즐겨찾기