final关键字
2018-11-28 本文已影响19人
若兮缘
final概述
通过继承关系的实现大大提高了代码的复用性和灵活性,但有些时候我们并不希望某个类被继承,某个方法被重写,某个变量的值被修改,此时就要使用final关键字了。
final可以用来修饰类、方法、局部变量(方法内和方法参数变量)、成员属性、静态方法和静态属性。
访问修饰符和final位置可以任意,如:public final、final public
final详解
- final修饰类表示该类不允许被继承,即没有子类
- final修饰方法表示该方法不允许被子类重写,但是可以正常被子类继承使用,不能修饰构造方法
- final修饰变量表示不允许修改
修饰方法内部的局部变量:只要在具体被使用之前进行赋值即可
修饰类中成员属性:只能在定义时直接初始化或者在构造方法、构造代码块中赋值
修饰基本数据类型的变量:初始赋值之后不能更改
修饰引用类型的变量:初始化之后不能再指向另一个对象,但指向的对象的内容(属性)是可变的
- 可以配合static使用,使用final修饰的静态属性称为常量,可以用来定义一些配置信息或者常量值
如:public static final double PI = 3.14159; public static final String URL = "www.xxx.com"; - 使用final修饰可以提高性能,但会降低可扩展性,根据需求进行取舍