final_听韩顺平课笔记
1.final基本使用
final修饰类,方法,属性,局部变量

2.final使用细节1

final属性(常量)必须赋初始值,可以在以下三个位置赋初始值:
- 定义时
- 在构造器中(final修饰的属性是静态的,则初始化位置不能是构造器)
原因:static修饰属性,在类加载时就要赋值,构造器是在对象创建时才触发 - 在代码块中

疑问:final不会有默认值吗?(因为final不能被修改,所以必须要赋初始值)
final类不能继承,但是可以实例化
如果类不是final类,但是含有final方法,则该方法虽然不能重写,但是可以被继承(可以使用父类的final方法)

3.final使用细节2
- 不能被继承的类中的方法肯定是不能被重写的,因此final修饰的类中的方法,不需要使用final关键字
- final不能修饰构造器
- final和static搭配使用效率更高,不会导致类加载,仅仅使用类变量,而不希望类加载的情况(底层编译器做了优化处理)
- 包装类,包括String都是final类,不能被继承

4.final练习


形参可以用final修饰,final修饰的形参不可改变


浙公网安备 33010602011771号