final关键字
常见的四种用法
- 用来修饰一个类
格式:修饰符 final class 类名称(){…}
不能有子类,不能被覆盖重写 - 用来修饰一个方法
格式:修饰符 final 返回值类型 方法名称(){…}
是最终方法,不能被覆盖重写 - 用来修饰一个局部变量
格式:修饰符 数值类型 变量名 (= 数值);
对于基本类型来说,变量的内容不可变
对于引用类型来说,变量的地址值不可变 - 用来修饰一个成语方法
格式:修饰符 数值类型 变量名 = 数值(必须写)
(1) 由于成员变量具有默认值,所以用final修饰之后,必须手动进行赋值,否则将永远为默认值
(2) 对于final的成员变量,要么直接赋值,要么通过构造方法赋值。二者选一
(3) 必须保证类当中所有的重载的构造方法,都最终会对final的成员变量进行赋值
权限修饰符
四种权限修饰符
优先级:
public > protected > (default) > private
使用限制:
public --> protected --> (default) --> private
同一个类 YES YES YES YSE
同一个包 YES YES YES NO
不同包子类 YES YES NO NO
不同包不同类 YES NO NO NO