Java の
#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 { }
Java の知識をさらに深めたい場合は、java 基本チュートリアル 列に注目してください。
以上がJavaで「ファイナル」とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。