fianl 最终的不可变的
final的用法
一.修饰类
被final修饰后的类,将变得不可继承,通常这个类都会是一个完整的类
二.修饰变量
修饰变量里面有两种分别是,被final修饰后都不可更改。
成员变量和本地变量
成员变量被修饰只能在声明的时候赋值或者在构造方法里面赋值。
本地变量被修饰可以随后赋值没有硬性规定。
值得注意的是当时引用类型的时候,只是不能修改引用地址,但是可以改变引用类型的值,在修参的时候举例。
class MyTest {
public static final int AA=0;//常量
final int aa=1;//成员变量
public MyTest(){
final int aaaa;//本地变量
aaaa=0;
}
}
在与static联用的时候 static final被称为常量,常量规定为大写,本地变量无法被声明为常量。
三.修饰方法
方法被修饰后将无法被重写,所以与abstract冲突不共存。
###四.修饰参数
修饰方法参数,表示在变量的生存期中它的值不能被改变;
public void finalFunc(final int a, final Students students) {
// a = 5; 不能改变a的值
// students= new Students (); 不能改变引用
students.num = 5; // 可以改变引用对象的值
}
综上是本人的理解,有错可以评论指出。