final 四种常见用法
- 修饰类
- 修饰方法
- 修饰局部变量
- 修饰成员变量
修饰类
//这个类不能有任何子类,但可以有父类
// 其中所有成员方法无法进行覆写(没有子类)
public final class 类名称{
//内容
}
修饰方法
public class Father {
// 有final无法覆写 子类继承无法改变
// abstract(必须覆写) 与 final(不能覆写) 不能同时使用
public final void method(){
System.out.println("父类final方法");
}
}
修饰局部变量
public class Main{
public static void main(String []args){
final int num = 10; // num 无法改变
final int num2 ;
num2 = 10; // 只能赋值一次
// 对于基本类型 不可变是指变量中的 数据 不能变
// 对于引用类型 不可变是指变量中的 地址 不能变 内容可以改变
}
}
修饰成员变量
对于成员变量来说 使用final关键字修饰 变量也不可变
- 成员变量具有默认值,使用final必须手动赋值,不会给默认值
- 对于final成员变量 要么直接赋值 要么通过构造方法赋值
public class Person{
final String name = "Jack";
public Person(){
name = "Mike";
}
}