Java基础之Final

Final可以用来修饰变量(包括类属性、对象属性、局部变量和形参)、方法(包括类方法和对象方法)和类。

Final修饰类

Final修饰的类不能被继承。

image.png

提示Remove Final,由此证明被FInal修饰的类不可被继承

Final修饰方法

Final修饰的方法不能被重写。

image.png

仍然提示Remove Final,由此可见被FInal修饰的方法不可被重写

public改成private会如何?

image.png

改成private后,update方法变成了私有方法,变不存在重写的问题了,故没有报错。

Final修饰变量

Final修饰的变量,在首次初始化后,变量值不可被改变。首次初始化指的是要么在声明时初始化,要么在构造函数中初始化。

初始化

public class FinalClass {

    private final int i = 0;
    private final User user = new User();//或 private final User user = null
}
public class FinalClass {

    private final int i;
    private final User user;
    //private final User user = null;//设置成null也算初始化了,只可声明
    
    public FinalClass(int i) {
        this.i = i;//或直接赋值 this.i = 0;
        user = new User();
    }
}

普通变量更新

image.png

引用变量更新

对象也属于变量,不同的是对象值可变,引用地址不能变。


image.png

由此可见,变量值可更改,但不能重新new

你可能感兴趣的:(Java基础之Final)