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 키워드를 사용하십시오.불변 클래스는 객체가 생성되면 변경할 수 없다는 것을 의미합니다.String은 불변 클래스의 대표입니다.불변류는 많은 장점이 있다. 예를 들어 그들의 대상은 읽기만 하고 다중 스레드 환경에서 안전하게 공유할 수 있으며 별도의 동기화 비용을 쓰지 않는다.
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을 사용하면 더 빠르고 더 좋은 코드를 쓸 수 있습니다.읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.