该文章是观看https://www.bilibili.com/video/BV1ct411n7oG?p=84视频的学习笔记。
final修饰符主要有三个作用:
1.修饰变量:final变量无法被改变,一旦被赋初始值就无法重新赋值。
public static void main(String[] args) {
final int test = 100;
test=200;//编译错误,无法改变final变量的值
test+=1;//编译错误,无法改变final变量的值
}
2.修饰方法:final方法不能被子类重写,但能够被重载。
以下面的代码为例,子类无法重写父类的final方法:
class People{
final public void Rest(){
System.out.println("现在是休息时间");
}
}
class Student extends People {
public void Rest(){ //编译错误,无法重写父类的final方法
System.out.println("学生利用休息的事件看书");
}
public void Rest(int test){ //子类可以重载父类的final方法
System.out.println("学生利用休息的事件看书");
}
}
3.修饰类:final类无法被继承。如String、Math等官方定义的类。下面的代码也是一个例子:
final class People{
final public void Rest(){
System.out.println("现在是休息时间");
}
}
class Student extends People {//编译错误,无法继承final类
}