final

final:用于声明属性,方法和类

  属性:定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不能修改

  方法:定义必须有实现代码,并且子类里不可被覆盖

  类:不能被定义为轴象类或接口,不可被继承

与static的区别:

  final不可被修改,static可以被修改

当final修饰属性时:基本数据类型的属性将成为常量,不能被修改

  例如: π 3.1415926

      E 2.7182818

     1) private static final pai=3.14;

     2) private final level;

               当没有在一开始时定义初始值,则必须在构造方法中定义初始值,这样在创建对象时,将不会改变这个值

     public test(){

       level=0;

     }

     public test(String name){

       this.name=name;

       level=0;

     }

final也可以修饰局部变量,例如

    public int XXX(final int a){...}

原文地址:https://www.cnblogs.com/1020182600HENG/p/5880138.html