特征修饰符final
1.修饰变量
如果在定义变量的时候没有赋初始值,则给变量一次存值的机会(因为变量是在栈内存空间内,没有默认值)。一旦变量被存储了一个值,若是final修饰的,则不让再次改变。
注意修饰的变量类型是基本类型还是引用类型:
如果修饰的变量是局部数据类型:则变量内的值不让更改—常量
如果修饰的变量是引用数据类型:则变量内的地址引用不让更改----对象唯一
2.修饰属性
属性如果没有赋值是有默认值的。它是存储在堆内存中的(对象在堆内存中开辟空间,属性就在这块空间里面).
属性用final修饰后,必须给属性赋初始值,否则编译报错
注意属性类型是基本类型还是引用类型
如果修饰的属性是基本数据类型 则变量内的值不让更改----常量
如果修饰的属性是引用数据类型 则变量内的地址引用不然更改----对象唯一
3.修饰方法
final修饰的方法 不能被子类重写
4.修饰类
final修饰的类不能被继承
通常final修饰的类都是一些已经定义好的工具类
JAVA面对对象的四个特征:
继承
封装
多态
(抽象)
封装:将一些数据或执行过程进行一个包装
目的:保护这些数据或执行过程的安全
对属性本身的封装:私有化属性(封装在类中),提供操作属性相应的方式(公有的方法)