final关键字表示的是最终的
也是一个修饰符
final关键字可以修饰一个类
也可以修饰一个方法
也可以修饰一个成员变量
也可以修饰一个局部变量
final关键字修饰一个类的格式
public final class 类名称{
…
}
含义:当前这个类不能有任何的子类
final关键字修饰一个方法的格式
修饰符 final 返回值类型 方法名称 (参数列表){
方法体
}
当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写
注意:对于类、方法来说,abstract关键字和final关键字不能同时使用,因为矛盾
final关键字修饰一个局部变量的格式
final 数据类型 变量名;
一旦使用final修饰局部变量,那么这个变量就不能进行更改。“一次赋值,终生不变”
对于基本类型来说,不可变说的是变量当中的数据不可改变
对于引用类型来说,不可变说的是变量当中的地址值不可改变
**
一个java类如果是被final修饰了,那么这个类就不能被继承了,该类的所有成员方法都不能被覆盖重写
在API中有很多的类这么做,目的是不让程序员随意的拓展自己的功能
类名使用public修饰表示公共的,一个文档中只能由一个public修饰的类,public修饰的类的类名必须与文档的名字完全一致
一个文档可以定义多个类,但是只要保证public修饰的这个类名与文档名一致就行
final修饰的方法不能被重写
方法的重写是基于子类继承父类的基础上的
final修饰的变量不能被重新赋值(对象类型和引用类型)
其实在底层要注意:这个变量的值是可以发生改变的,不能改变的是指向!!!
方法的重写是基于子类继承父类的基础上的