关于java的点点滴滴(2) final关键字
2015-10-11 21:49
323 查看
1.final修饰的类不能被继承,final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。
2.对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但是可以改变对象中 。
3.final方法,之所以要使用final方法,可能是出于对两方面理由的考虑。第一个是为方法“上锁”,防止任何继承类改变它的本来含义。设计程序时,若希望一个方法的行为在继承期间保持不变,而且不可被覆盖或改写,就可以采取这种做法。采用final方法的第二个理由是程序执行的效率。(有兴趣的可以深入了解其原理,在最近的Java版本中,不需要使用final方法进行这些优化了)
2.对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但是可以改变对象中 。
3.final方法,之所以要使用final方法,可能是出于对两方面理由的考虑。第一个是为方法“上锁”,防止任何继承类改变它的本来含义。设计程序时,若希望一个方法的行为在继承期间保持不变,而且不可被覆盖或改写,就可以采取这种做法。采用final方法的第二个理由是程序执行的效率。(有兴趣的可以深入了解其原理,在最近的Java版本中,不需要使用final方法进行这些优化了)
相关文章推荐
- 实验二Java面向对象程序设计
- 避免带有变长参数的方法重载,别让null值和空值威胁到变长方法,覆写变长方法也循规蹈矩
- spring 注解配置bean2
- Java Math的 floor,round和ceil的总结
- JUnit单元测试入门
- Spring in Action 学习笔记三-AOP
- Struts2配置详解_配置Action
- Spring in Action 学习笔记二-DI
- Java基础知识强化之IO流笔记48:IO流练习之 复制单级文件夹案例
- JDK中的设计模式
- <学习笔记>关于Hash集合以及Java中的内存泄漏
- Java实现进度条
- Spring in Action 学习笔记一
- Java实现滚动字幕
- Java基础知识强化之IO流笔记47:IO流练习之 随机获取文本文件中的姓名案例
- struts2学生信息管理系统篇章④
- java入门第二天if else
- spring+struts2整合(二)
- Spring官网改版后下载
- 设计模式之桥接模式