final 修饰类  该类不能被继承。

final 修饰方法  该方法不能被子类重写。

final 修饰变量  该变量的值不能修改,不能被重新赋值(只能赋值一次),其实就是常量。

class Student
{
int num = 0;
public Student(int num){
this.num = num;
}
}
class FinalDemo
{
public static void main(String[] args){
// final 修饰基本数据类型 无论是成员变量还是局部变量
// 都不能重新赋值。
final int x = 10;
// x = 20;// 报错 无法为最终变量x分配值


// final 修饰引用数据类型
// 引用数据的地址值是不能改变的,所以不能重新赋值,
// 但地址指向的内存中的内容是可以改变的,所以s.num可以重新赋值
final Student s = new Student(1);
System.out.println(s.num);
s.num = 2;
System.out.println(s.num);
// s = new Student(3); //报错 无法为最终变量s分配值
}
}