java final 关键字

来源:互联网 发布:h5响应式建站系统源码 编辑:程序博客网 时间:2024/05/18 03:37

final  关键字可以用于变量,方法,和类,final的好处是什么?


1 如果定义变量是finall 必须要初始化,一般final会和static一起用,我们可以在定义变量的时候初始化,或者在static静态快里面初始化,这个变量是只读的,不能被修改

   比如编译就通不过。如果定义的变量没有static修饰,也可以在构造器中初始化


2 如果定义方法是final的话,那么他的子类不能override这个方法,如果在子类里面重写父类的final方法,编译通不过


3.如果定义的类是final的话, 那么他将不能被继承,


那么我们为什么用final呢

1.final 提高了性能,jvm 和java 应该都会缓存final变量。

2.final 变量可以安全的多线程实现共享

3.使用final ,jvm会对方法和变量和类 进行优化。


比如String,Integer就是final类,他不能继承,


在匿名类中所有的变量都必须是final

final和abstract是相反的,不能同时使用

对集合对象生命的为final的,不能重新new,

final List<String> abc = new ArrayList<String>();
abc.add("aasd");abc.remove(0);
abc=new ArrayList<String>();//这个直接编译不通过

原创粉丝点击