Java에서 final 키워드의 기능은 다음과 같습니다. 1. 참조를 수정하는 데 사용됩니다. 2. 메서드를 수정하는 데 사용됩니다. 3. 클래스를 수정하는 데 사용됩니다. 메서드가 최종 수정되면 이 메서드는 최종 메서드가 되며 하위 클래스로 재정의될 수 없습니다.
1. final 키워드의 기능 개요
final 키워드는 참조, 메소드, 클래스를 수정하는 데 사용할 수 있습니다.
(추천 동영상 튜토리얼:java 강좌)
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(); } }
3. 클래스 수정에 사용됩니다
final을 사용하여 클래스를 수정하면 해당 클래스가 최종 클래스가 되어 상속될 수 없습니다. 간단히 말해서 “후손을 끊어내고 후손을 멸절시키는 것”이라고 합니다.
/*** * final用法3:修饰类,则该类成为最终类,无法被继承 * @author Administrator * */ final class Person02 { } //class Teacher02 extends Person02 { } //class MyString extends String{} public class Demo03 { }
예를 들어 일반적으로 사용되는 String 클래스가 최종 클래스입니다.
관련 권장 사항:Java 시작하기
위 내용은 Java에서 final 키워드의 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!