> Java > Java시작하기 > 본문

Java에서 final 키워드의 기능은 무엇입니까?

王林
풀어 주다: 2020-07-14 14:46:00
원래의
3050명이 탐색했습니다.

Java에서 최종 키워드의 기능은 다음과 같습니다. 1. 참조 수정 2. 메소드 수정 3. 클래스 수정 메서드가 최종 수정되면 이 메서드는 최종 메서드가 되며 하위 클래스로 재정의될 수 없습니다. final이 클래스를 수정하면 해당 클래스는 최종 클래스가 되며 String 클래스와 같이 상속될 수 없습니다.

Java에서 final 키워드의 기능은 무엇입니까?

final 키워드는 참조, 메소드 및 클래스를 수정하는 데 사용할 수 있습니다.

(추천 튜토리얼: Java Getting Started Tutorial)

1. 참조 수정

참조가 기본 데이터 유형인 경우 참조는 상수이며 참조 데이터인 경우 값을 수정할 수 없습니다. 객체 또는 배열과 같은 유형, 객체 또는 배열 자체는 수정할 수 있지만 객체 또는 배열의 주소를 가리키는 참조는 수정할 수 없습니다. 참조가 클래스의 멤버 변수인 경우 이를 할당해야 합니다. 그 자리에서 값을 입력합니다. 그렇지 않으면 컴파일에서 오류가 보고됩니다.

코드 구현:

final class Person {
    String name ="zs";    //3. 此处不赋值会报错
    //final int age;
    final int age = 10;  
}
public class Demo01 {
    public static void main(String[] args) {        //1. 基本数组类型为常量,无法修改
        final int i = 9;
        //i = 10;               //2. 地址不能修改,但是对象本身的属性可以修改
        Person p = new Person();
        p.name = "lisi";
        final int[] arr = {1,2,3,45};
        arr[3] = 999;
        //arr = new int[]{1,4,56,78};
    }
}
로그인 후 복사

2. 수정 방법

최종 수정 방법을 사용하면 이 방법이 최종 방법이 되며 하위 클래스에서 재정의할 수 없습니다. 그러나 메서드는 여전히 상속될 수 있습니다.

class Person {
    public final void say() {
        System.out.println("说....");
    }
    public void eat() {
        System.out.println("吃...");
    }
}
class Teacher extends Person {
    //1. final修饰的方法不能被重写,但此方法仍然被继承
    /*@Override
    public void say() {
        System.out.println("老师在一本正经的说...");
    }*/
    
    public void eat() {
        System.out.println("老师在大口大口的吃...");
    }
}
public class Demo02 {
    public static void main(String[] args) {
        Teacher t = new Teacher();
        t.say();
    }    
}
로그인 후 복사

(동영상 튜토리얼 추천: java 동영상 튜토리얼)

3. 클래스를 수정하는 데 사용됩니다

final로 클래스를 수정하면 해당 클래스가 최종 클래스가 되어 상속될 수 없습니다. 간단히 말해서 “후손을 끊어내고 후손을 멸절시키는 것”이라고 합니다. 예를 들어 String 클래스는 최종 클래스입니다.

코드 구현:

/***
 * final用法3:修饰类,则该类成为最终类,无法被继承
 * @author Administrator
 *
 */
final class Person02 {    }
//class Teacher02 extends Person02 { }
//class MyString extends String{}
public class Demo03 {

}
로그인 후 복사

위 내용은 Java에서 final 키워드의 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!