Fianl palabra clave en java

El significado de final:

El significado de final en java significa final e inmutable.

El papel del final:

Cuatro usos comunes:
1. Puede usarse para modificar un formato de clase: nombre de clase de clase final pública {}
2. Puede modificar un formato de método: modificador tipo de valor de retorno final nombre de método (lista de parámetros) {contenido del cuerpo del método}
3. Se puede modificar un formato de variable local: tipo de variable final nombre de variable
4. Se puede modificar un formato de variable miembro: modificador de permiso tipo de variable final nombre de variable;

Las clases modificadas finales no se pueden heredar, pero otras clases se pueden heredar y usar de la misma manera que otras clases.

class Parent {}
final class Person extends Parent{} //可以继承Parent类
class Child extends Person{} //不能继承Person类

Las variables modificadas finales se denominan constantes y solo se pueden asignar una vez, pero se pueden cargar en clases para su cálculo.

final int i = 20;
i = 30; //赋值报错,final修饰的变量只能赋值一次

El método modificado final no se puede sobrescribir (no se puede sobrescribir), pero se puede heredar y usar

class Parent {
    // final修饰的方法,不可以被覆盖,但可以继承使用
    public final void method1(){}  //这个方法不可以重写
    public void method2(){}
}
class Child extends Parent {
    //可以重写method2方法
    public final void method2(){}
}

Final modifica las variables miembro. El valor fijo no es el valor predeterminado de la memoria. Debe asignarse antes de crear el objeto, asignarse manualmente, de lo contrario se informa un error y debe garantizarse que solo se puede asignar una vez.

1. Hay dos formas de realizar la asignación de cambio de miembro, una es asignar directamente al definir, variable = asignación

public class ParentDemo {
    final int age=0;
    public ParentDemo(int age){
        this.age=age;//会报错,因为前面已经赋值了,
    }
}

2. La otra es utilizar el método de construcción para asignar

public class ParentDemo {
    final int age;
    public ParentDemo(int age){
        this.age=age;//编译通过,
    }
}

Nota: La
modificación final es que el valor no se puede determinar en tiempo de compilación y el valor solo se puede determinar en tiempo de ejecución, por lo que es una constante de tiempo de ejecución.

Supongo que te gusta

Origin blog.51cto.com/14954398/2554676
Recomendado
Clasificación