- final修饰的类,相当于别阉割了,不可以继承
- final修饰的方法,不可以被子类重写,不过可以被重载
- final修饰的成员变量,相当于一个不可变的常量,一定要在对象建立之前完成赋值,静态代码块或者构造器里面赋值
一、赋值的方式
1、可以定义变量时直接赋值
2、可以在代码块中进行赋值(静态代码块和构造代码块)
3、可以再构造方法中进行赋值。
总结起来,就是要在对象创建之前完成赋值的过程。
二、值能不能改变的问题
1、对于基本数据类型的,如byte short char int 等,赋值后被final修饰的变量不能改变。
2、对于引用数据类型,地址不能改变,但是地址中的值可以发生改变。(String和包装类除外)
5.final修饰局部变量的话,使用之前赋值就行了。
下一个面试题
局部内部类和匿名内部类,只能访问局部final变量。