final可以修饰类,方法,变量。修饰后会产出的“特殊效果”:
①类不可以被继承。②方法不可以被覆盖。
③变量是一个常量。(据说在安卓经常碰到哦)只能被赋值一次。
when
通常在程序中使用一些不会变化的数据.也就是常见的一些常量值.比如1.23,这个数直接使用是可以的,
但并不利于阅读,所以一般情况下,都会被该数据起个容易阅读的名称
final修饰的常量定义一般都有书写规范,被final修饰的常量名称,所有字母都大写例如:double PI = 3.14;如果由多个单词组成每个单词间用下划线连接
内部类只能访问被final修饰的局部变量。
关于 final private 区别:
①,final修饰的类可以访问
private不可以修饰外部类,但可以修饰内部类,讲内部类的时候会演示(其实把外部类私有化是没有意义的)
②,final修饰的方法不可以被子类重写
private修饰的方法表面上看是可以被子类重写的,其实不可以,子类是看不到父类的私有方法的
③,final修饰的变量只能在显示初始化或者构造函数初始化的时候赋值一次,以后不允许更改
private修饰的变量,也不允许直接被子类或一个包中的其它类访问或修改,但是他可以通过set和get方法对其改值和取值