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

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

王林
王林オリジナル
2020-07-14 14:46:003045ブラウズ

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

Javaの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();
    }    
}

(ビデオ チュートリアルの推奨: java ビデオ チュートリアル)

3. クラスの変更に使用されます

クラスが Final で変更されると、 classはFinalクラスとなり継承できません。単に「子孫を絶つ、子孫を絶つ」とも言います。たとえば、String クラスは最後のクラスです。

コード実装:

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

}

以上がJavaのfinalキーワードの機能は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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