1.什么是final
继承关系最大的坏处就是破坏封装:子类能访问父类的实现细节,而且可通过方法覆盖实现修改细节。
多个修饰符之间没有先后顺序,public static final
final本身含义就是“最终的,不可改变的”。它可以修饰非抽象类,非抽象方法和变量:注意构造方法不能用final修饰的类
final修饰的类:不能有子类
以下条件就可以定义成final类
(1)某类不是专门为继承设计
(2)出于安全考虑,类的实现不能被修改
(3)确信该类不会被拓展
final修饰的方法:该方法不能被覆盖
什么时候的方法需要使用的条件
(1)在父类中提供的统一的算法骨架,不允许覆盖修改,模板方法设计模式
(2):在构造器中调用的方法(初始化方法)此时一般使用final修饰
可以调用不能修改
final修饰的变量:常量只能赋值一次不能再赋值。
final是唯一一个修饰局部变量的修饰符
常量命名规则:全部大写。单词之间用_隔开
final修饰基本数据类型:不能用=赋值
fina修饰引用类型:地址不能改变,但是地址内的数据可以改变