final 关键字

final 关键字

使用final关键字做标识有“最终的”含义

final可以修饰类、方法、属性和变量

final 修饰类,则该类不允许被继承

final 修饰方法,则该方法不允许被重写(覆盖)

final修饰属性 , 则该类的属性不会进行隐士的初始化(类的初始化必须有值)或者在构造方法中复制(但是只能选择其一),类的final 成员变量在初始化的时候在声明的时候必须显示的初始化,赋初始值或者在构造函数中赋值,但是只能赋一次。

final 修饰变量,则该变量的值只能赋值一次及为常量。(在方法中可以定义final 变量,但是该变量只能初始化一次,不能多次赋值)

例如 final 修饰属性初始化方式1

public class Anmial {

    private final String name ;

    public Anmial(){
       name ="zhangsan";
    }
}

final修饰属性初始化方式2:

public class Anmial {

    private final String name = "zhangsan" ;

}

final 修饰变量初始化方式

public class Anmial {

    private final String name = "zhangsan" ;

    public void test(){
        final int a = 1 ;
      //  a = 3 ; //final修饰的变量只能初始化一次。
    }

}
原文地址:https://www.cnblogs.com/wenq001/p/10305020.html