final关键字
final关键字代表最终的,不可改变的。
常见的四种用法:
可以用来修饰一个类
可以用来修饰一个方法
可以用来修饰一个局部变量
可以用来修饰一个成员变量
修饰一个类
格式:public final class 类名称{}
含义:当前这个类不能有任何的子类。(太监类)
如果一个类是final的,那么其中所有类都无法覆盖重写,因为没有子类继承它
public final class Fu{
public void method(){
}
}
public class Zi extends Fu{//错误,不能有子类
}
修饰一个方法
当final关键字用来修饰一个方法的时候,这个方法就是最终方法,不能被覆盖重写
abstract关键字和final关键字不能同时使用,因为矛盾
修饰一个局部变量
一旦final用来修饰局部变量,那么这个变量就不能进行更改。
对于基本类型来说,不可变说的是变量中的数据不可改变
对于引用类型来说,不可变说的是变量当中的地址值不可改变
修饰一个成员变量
成员变量使用final修饰照样不可变
由于成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值了
对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值
如果用构造方法赋值,必须保证类当中所有重载的构造方法,都最终会对final修饰的成员变量进行赋值
四种权限修饰符
public > protected > (default) > private
注意:default不是关键字,而是什么都不写
Comments NOTHING