关于final修饰符的一些学问
关于final修饰符的一些知识
写道
根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。
1.用final修饰的成员变量表示常量,值一旦给定就无法改变!
final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会被扩展,那么就设计为final类。
2.final方法不能被改写
使用final方法的两个原因:
第一、把方法锁定,防止任何继承类修改它的意义和实现。
第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
3. final类不能被继承
4. final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。
5.static和final一块用表示什么
static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!
a)对于变量,表示一旦给值就不可修改,并且通过类名可以访问。
b)对于方法,表示不可覆盖,并且可以通过类名直接访问。