第九天的视频,做个笔记
1:final关键字的引出
final:最终的意思,常见的是他可以修饰类,方法,变量
2:final关键字的特点
3:final修饰局部变量
之前我们见到的public private等 都是用来修饰成员变量的,从来没有在方法里边用它,权限修饰符修饰局部变量是没有任何意义的。因为方法本来就是一个封装起来的东西,但是final是可以的,
第一种情况;final修饰变量等于自定义了一个常量。
第二种情况:局部变量是引用数据类型
打印输出结果是 10 / 100
第三种情况:
这个时候打印输出的是10,因为变量是每个对象所特有的,
第四种情况,
打印输出结果是 10 / 100
这里的final最后的修饰效果是ss对象的地址值不能发生变化
这里会报错,因为ss被final修饰过,它的地址值不能再发生改变了
总结:
4:final修饰变量的初始化时机
第一种情况,先初始化成员变量,然后调用构造方法,所以最后输出num的值为10
第二种情况,会报错,因为num2被声明为了final属性。常量是不能重新改值的。
第三种情况:定义时候不给值,但是默认为0;最后输出100/200
第四种情况,加了final,这个时候表示 num2没有赋值
第五种情况:报错,因为先走构造代码块进行赋值