Final关键字
1.final:类似#define,声明符号常量,在Java中进行常量化修饰
(1)final可以修饰类,方法,数据(成员数据,局部数据)
(2)final可以修饰形参
2.修饰类
(1)定义:访问权限 final class 类名{
///
}
(2)一个类被声明为final后,该类的所有方法都被隐式的声明为final
(3)谨慎使用,除非该类永远不会被继承或作安全因素考虑
3.修饰方法
(1)定义:访问权限 final 返回值类型 方法名(形参){
///
}
(2)原因:
<1>目的是为了不被任何子类修改,可被继承
<2>提升效率
(3)用途:
<1>只有明确禁止父类方法在子类覆盖的情况下,将父类方法设成final
<2>在子类中不允许出现和父类final方法一摸一样的方法
<3>想要基类private方法不被继承
4.修饰局部变量
(1)定义在一个方法中
(2)定义:final 数据类型 变量名 = 值;
(3)定义时一定要初始化
(4)只可在本方法中使用且值不可变
(5)方法运行结束后释放
5.修饰成员数据
(1)定义:访问权限 final 数据类型 = 值;
(2)成员数据初始化
(3)直接初始化
(4)构造初始化(注意:必须所有的构造器都要初始化)
6.修饰引用
**一个引用只能引用一个对象**
(1)声明:final 类名 引用名 = new 类名([实参]);
(2)引用名是常量,表示只可引用一个对象
(3)final引用所引用的对象不是一个常量
(4)final声明的引用是存放在静态区的
(5)final引用所引用的对象成员是可变的
(6)构造器不能final