final 关键字:代表最终、不可改变的。
常见四种用法:
1.可以修饰一个类
2.可以修饰一个方法
3.可以修饰一个局部变量
4.可以修饰一个成员变量
1.修饰类时:格式:
public final class 类名称 {}
含义:当前这个类不能有任何子类
当然,final 类所有成员方法无法重写,因为没有子类
2.修饰方法时:格式:
public final 返回值类型 方法名称(参数列表) {}
此时,该方法为最终方法,不能被覆盖重写
对于类和方法,abstract 和 final 不可以同时使用,相互矛盾(一个必须重写,一个不能被重写)
但是 abstract 抽象类,可以有 final 方法,但其不可被重写
3.修饰局部变量时:格式:(例如:)
基本类型:
final int num = 10;
则 num 中的数据不可以再改变
引用类型:
final Student stu = new Student("xxx");
stu中的地址值不可以再改变,只是地址值不可改变,而地址值中的类容还是可以改变的
stu.setName("xxxxxx"); 可以
4.修饰成员变量时:
对于 final 的成员变量,要么手动赋值,要么通过构造方法赋值,二选一
但是必须保证,类当中所有的构造方法都对其进行了赋值