final关键字
final的作用
最后的 最终的 含义 , Java中的关键字,用于修饰类、方法和变量
一、修饰类:
最终类, 该类不能被继承(不能有子类)(例如String、System都是被final修饰的,所有都是不能有子类的) 但是可以继承其他类
二、修饰方法:
最终方法
修饰后该方法不能被重写
不能与abstract共存(abstract要求必须重写 )
三、修饰变量
最终变量 值不能被修改 只能赋值一次
1、修饰基本数据类型
最终变量,即常量(注意常量的命名规范),只能赋值一次,不能被更改
2、修饰引用数据类型
不建议修饰引用数据类型,因为仍然可以通过引用修改对象的内部数据,(也就是引用数据类型的地址值不能变化,但是属性值是可以发生变更的 )意义不大
代码示例:
父类:
public /* final */ class Father {
final int NUM = 1000; //被final修饰后为常量
public final void show() {
System.out.println("父类的show方法");
}
}
子类:
public class Son extends Father{
public void show(int m) {
super.show();
System.out.println("子类拓展的功能 名" + m);
}
}
测试类:
public class TestFan1 {
public static void main(String[] args) {
Son s = new Son();
s.show();// 方法可以被继承的
s.show(100);// 方法子类独有的
System.out.println(s.NUM);// 1000
//daughter.NUM = 2000; 对NUM修改值 第二次赋值 final的变量只能赋值一次
System.out.println(s.NUM);// 2000
}
}