final的四种修饰场景(代码解析版)

final 是修饰符的关键字(final意为最终状态,言外之意就是不可再修改)

由于final属性不可修改的性质,可以保证程序的安全性与正确性

例如:

  • 这个类不能被别的类继承(拓展),则可以用final 修饰类

  • 这个类方法不想被继承的子类复写,则可以用final修饰方法

  • 这个变量不想在程序中被修改值,则可以用final 修饰变量

  • 这个引用变量不可以再指向别的对象,则可以用final 修饰引用变量

以上四条final属性的应用可以体现final保证程序的安全性,可防止数据被恶意修改等造成数据错误

以上四种修饰场景代码如下:

  1. 修饰常量:则该常量值不可修改(只能赋值一次)
final int NUM = 998;
NUM = 948; //会产生编译错误,因为常量不可修改
  1. 修饰方法:子类无法复写父类的final方法
class Father{
	void speak(){
		System.out.println("没做完作业不许摸鱼!");
	}
}
class Son extends Father{
	void speak(){
		System.out.println("你想怎么玩就怎么玩"); //会产生编译错误,因为没做完作业不许摸鱼...(qmq
	}
}
  1. 修饰类:该类不能被继承,但是该类的内容是可以修改的
final class Me{ 
	void play(){
		System.out.println("play with me!");
	}
}
class You extends Me{ //会产生编译错误,因为我是不可以被继承的,只能和我玩

}

4. 修饰引用变量:该引用变量只能永远指向同一个对象

final Person me = new Person("998");
me = new Person("948"); // 编译错误,不能再将“我”指向别的对象

Guess you like

Origin blog.csdn.net/qq_51800570/article/details/120873315