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不是关键字,而是什么都不写

file