자바 기초 튜 토리 얼 의 final 키워드 에 대한 분석
앞에서스 트 링 설명에서 final 키 워드 를 언급 했 고 본 고 는 final 키 워드 를 분석 할 것 이다.
static 과 final 은 우리 가 파악 해 야 할 두 가지 키워드 이다.다른 키워드 와 달리 그들 은 모두 여러 가지 용법 을 가지 고 있 으 며 일정한 환경 에서 사용 하면 프로그램의 운행 성능 을 향상 시 키 고 프로그램의 구 조 를 최적화 할 수 있다.다음은 final 키워드 와 그 용법 을 알 아 보 겠 습 니 다.
final 은 전체적으로 볼 때'가 변 적 이지 않 은'것 으로 클래스,방법,변 수 를 수정 하 는 데 사용 할 수 있다.
final 클래스
final 수식 클래스 는 계승 할 수 없습니다.영원히 계승 되 지 않 거나 계승 되 고 싶 지 않다 는 것 을 확인 하면 final 로 수식 할 수 있다.
 
 마찬가지 로 인터페이스(interface)와 추상 류(abstract Class)는 원래'다 중'을 위해 디자인 된 것 이기 때문에 final 키워드 로 수식 할 수 없다.
 
  
 final 클래스 의 구성원 방법 은 기본적으로 final 방법 으로 지정 되 어 있 습 니 다.
최종 방법
final 수식 방법 은 다시 쓰 면 안 됩 니 다.
예:
/**
 *   
 * @author LH
 */
public class FinalDemo1 {
 public final void test() {
  
 }
} 
 final 변수
final 변 수 는 구성원 변수 와 부분 변 수 를 포함한다.변수 형식 은 기본 데이터 형식,대상 을 포함한다.
final 수식 부분 기본 형식 변수(및 포장 류)를 통 해 수 치 는 초기 화(정의 할 때 초기 화 할 수도 있 고 사용 전에 초기 화 할 수도 있 습 니 다)되 지 않 습 니 다.예:
final int a = 0;
a = 1;//  
final int b;
b = 1;//    
public static void main(String[] args) {
 final String str1 = "helloWorld";
 str1 = "helloChina";//    ,String     ,            。
 final StringBuilder sb = new StringBuilder("hello");
 sb.append("world");//    
 sb = new StringBuilder("China");//    
}
public class FinalDemo1 {
 public final int age;//final       ,    
 public final int age1 = 20;//final       ,    
 public final StringBuilder address;// final       ,    
 public final StringBuilder address1 = new StringBuilder("  ");//final       ,    
}
public static void main(String[] args) {
 String str0 = "helloWorldChina";
 String str1 = "helloWorld";
 String str3 = str1 + "China";
 System.out.println(str0 == str3);//false
 
 final String str2 = "helloWorld";
 String str4 = str2 + "China";
 System.out.println(str0 == str4);//true
 
 final String str5;
 str5 = "helloWorld";
 String str6 = str5 + "China";
 System.out.println(str0 == str6);//false
}그럼 str 0==str 4 의 실행 결 과 는 왜 true 입 니까?
final 수식 변 수 를 통 해 컴 파일 기간 에 정확 한 값(변 수 를 정의 할 때 초기 화)을 알 수 있다 면 컴 파일 러 에서 상수 로 사용 합 니 다.이 변 수 를 사용 하 는 모든 곳 은 이 상수 에 해당 합 니 다.String str 4=str2+"China"는 컴 파일 기간 에 String str 4="hello World China"로 통합 처리 되 었 습 니 다.따라서 str0 과 str4 는 상수 탱크 의 같은 문자열 의 글자 크기 의 주 소 를 인용 하여 true 로 결 과 를 얻 었 습 니 다.
그리고 str 0==str 6 의 실행 결과 가 false 라 는 것 도 잘 이해 합 니 다.
str 5 는 컴 파일 기간 에 정확 한 값 을 모 르 고 사용 하기 전에 초기 화 되 었 기 때문에 컴 파일 러 는 사전에 통합 처 리 를 할 수 없습니다.str 6 는'+'를 통 해 새로운 문자열 대상 을 만 들 었 고 돌아 오 는 참조 주소 와 str0 도 다 릅 니 다.
기본 데이터 형식 에 있어 final 변수 와 일반 변수 로 정의 되 고 비교 결과 에 있어 차이 가 없다.
public static void testint(){
 int int0 = 8; 
 final int int1; 
 int1 = 4; 
 int int2 = int1 + 4; 
 System.out.println(int2 == int0);//true
}총화
본 고 는 주로 final 키워드 의 원 리 를 설명 하 는 동시에 그 기본 적 인 용법 에 대해 설명 했다.final 수식 의 유형,final 수식 의 방법 과 final 수식 의 변 수 를 포함한다.또한 글 에서 String 변 수 는==비 교 를 통 해 final 원 리 를 더욱 명확 하 게 설명 하기 위해 실제 응용 장면 을 비교 할 때 equals()방법 을 사용한다.final 도 자주 static 와 협조 하여'전역 상수'로 사용 합 니 다.잘못된 점 이 있 으 면 비판 하고 지적 하 며 함께 발전 하 시기 바 랍 니 다.감사합니다!
자,이상 이 이 글 의 모든 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.