final 表示最后的,最终的
使用final的场景- 不希望类被继承的时候
- 当不希望父类的某个方法被子类重写/覆盖时
- 当不希望类的某个属性的值被修改
- 当不希望某个局部变量被修改
- final修饰的属性叫常量,用大写XXX_XXX来命名
- 不赋值会报错,可以在定义时、构造器中、代码块中赋值
- 若final类修饰的属性是静态的,则不能在构造器中赋值,因为静态属性在类加载的时候就要被创建,它先于构造器,所以在加载类的时候它是没有赋值的,所以会报错
- final类不能被继承,但是可以实例化对象
- 父类的final方法不能被重写,但是可以被调用
- 如果类已经是final了,就不用将方法修饰成final方法
- final不能修饰构造方法
- final和static搭配使用,效率高,final static不会导致类的加载,底层编译器做了优化处理
- 包装类都是final类,都不能被继承
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)