final 修饰符:不可改变的
它可以修饰非抽象类、非抽象方法和变量
1.修饰类:不能被继承 没有子类
2.final修饰方法:该方法不能被覆盖 final getClass();//获得对象本质类型
3.final修饰变量:该变量是常量,【只能赋一次值】,必须要赋初始值。
非静态final成员变量:
赋值:
1,声明的同时赋值
2,可以在匿名代码块中赋值
3,可以在构造器中赋值
静态的final成员变量:
1,声明的同时赋值
2,可以在静态代码块中赋值
【String类不能被继承 因为String类有final修饰】
4final变量的赋值
4.1:final修饰非静态成员变量,必须要赋值,并且只能在下面三个地方赋值,赋值以后不能改。
4.1.1:声明的同时 赋值
4.1.2:匿名代码块内 赋值
4.1.3:类中任何构造器 赋值
4.2:final修饰static静态的成员变量
4.2.1:声明的同时 赋值
.4.2.2:static代码块内 赋值
4.3:final修饰变量 结论
4.3.1:final可以修饰任何变量.
4.3.1:final修饰的变量必须赋初始值
4.3.3:final修饰的变量被一次赋值以后不能跟改