欢迎提出意见与指正
首先众所周知final修饰的意思是不可变得,最终的。
那么这个不可变得到底是什么呢 ?
不可变得指的是引用,是地址,对象的内容还是可以变得;
也就是说final永远指向某个对象,是一个常量指针,而不是指向常量的指针。
被final关键字修饰的类,不能被继承没有子类,而且其内的所有成员方法都会隐式的被final修饰;
注意:不是特别需要 或者为了安全考虑最好不要用final修饰类。
2.修饰方法
一个类中的方法一旦被final关键字修饰,则该方法就不能被子类重写,只能被继承。所以如果父类中的某个方法不想被子类重写,就可以用final关键字修饰。
final修饰的方法的特性:
1.该方法被锁定,防止继承类修改其意义和实现
2.高效
1.如果修饰的基本数据类型,一旦被初始化,其数值是不能再被改变的。
2.final 修饰实例变量时(定义在类内,类的属性,但是在类的方法之外,又成为类的成员变量),必须初始化,且不可修改。
3.final修饰局部变量时(方法体内的变量)只能初始化(赋值)一次,也可以不初始化;
4.final修饰方法参数时: 是在调用方法传递参数时初始化的。
5.final修饰引用类型变量时:表示其指向的地址不能变,即不能再让其指向另一个对象,但是该引用指向的对象里的内容是可以改变的
6.当用final修饰类的非静态成员变量时,成员变量的初始化有两种式:
1).在声明时初始化
2) .在声明变量时可以不进行初始化,该变量被称为blank final,即final空白,但是要在这个变量所在的类的所有
的构造方法中对这个变量赋初值。
7.当用final修饰类的静态成员变量时,静态成员变量的初始化方式也有两种
1)在声明时进行初始化
2)在静态代码块里进行初始化
网友评论