ホームページ  >  記事  >  Java  >  Javaのfinalキーワードの機能は何ですか

Javaのfinalキーワードの機能は何ですか

王林
王林オリジナル
2020-10-22 10:40:3633021ブラウズ

Java の Final キーワードの機能: 1. 参照の変更に使用されます; 2. メソッドの変更に使用されます; 3. クラスの変更に使用されます。メソッドが最終的に変更されると、このメソッドが最終メソッドとなり、サブクラスによってオーバーライドすることはできません。

Javaのfinalキーワードの機能は何ですか

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。