final定义:
final的翻译是最终,也就表示着它修饰的对象是最后一次被继承等含义。 被final修饰的对象不能更改其定义以及变量值
final的四种用法
一、修饰变量
public class Demo1 {
public final int a = 6;
public void test() {
a = 10;
}
final修饰变量的时候,其修饰变量的值被初始化后是不可更改的 。
二、修饰参数
public class Demo1 {
public void sayHi(final int a) {
a=5;
System.out.println(a);
}
final修饰参数时,被修饰的参数不可以被方法使用。
三、修饰方法
public class Demo1 {
public final void sayHi1() {
System.out.println("Hello world!");
}
这里虽然继承了Demo1,但是不可以使用其final修饰的sayHi1方法。
final修饰方法时,此方法不可以被继承来重写,表示final修饰的方法满足要求使用,不需要再去被修改以及重写。
四、修饰类
public final class Demo1 {
}
final修饰类的时候,被修饰类不可以被继承,说明此类的功能以及足够满足使用比较完美,所以不需要被修改和扩充。所以就不可以被继承进行重写操作。
final作用:
防止当前类被继承破坏内部逻辑,因为当前类的实现比较完美。JDK中的String类就是被final修饰,防止继承导致功能的逻辑混乱
String部分源码:
总结:
final的作用和名字相似,是终止的意思。他存在的意义是防止逻辑被破坏或者数据篡改。
final的四种用法:修饰变量、修饰参数、修饰方法、修饰类