final关键字
final关键字是最终的意思,可以修饰成员方法,成员变量,类
final修饰的特点:
- 修饰方法:表明该方法时最终方法,不能被重写;
- 修饰变量:表明该变量是常量,不能再次被赋值;
- 修饰类:表明该类是最终类,不能被继承;
final修饰局部变量:
-
final修饰基本类型变量:
基本类型的数据值不变。不能再次被赋值。其已变为常量。 -
final修饰引用类型变量:
引用类型的地址值不变 。地址里的内容可以发生改变。
abstract和final的关系是什么?
互斥关系,不能同时出现修饰成员。
abstract是要被继承的,final是不允许再次被使用的。
变量有几种?
- 成员变量
静态成员变量:有static修饰,属于类,只加载一份。
实例成员变量:无static修饰, 属于每个对象,与对象一 起加载。 - 局部变量
只能方法中,构造器中,代码块中,for循环中,用完作用范围就消失了。
final修饰局部变量:
让值被固定或者说保护起来,执行的过程中防止被修改。
final int age = 10;
age = 100;//报错,第二次赋值了
final修饰静态成员变量:
final修饰静态成员变量,变量变成了常量。
常量:有public static final修饰, 名称字母全部大写,多个单词用下划线连接。
final修饰实例成员变量:
final修饰实例成员变量可以在哪些地方赋值1次:
- 定义的时候赋值一次。
- 可以在实例代码块中赋值一次。
- 可以在每个构造器中赋值一次。