final关键字
2016-05-25 16:54
190 查看
Java可以分为:值类型、引用类型。
值类型(可以理解为常量):
比如int,float 等就是值类型, 如果它们定义的变量前加了final关键字, 例如 final int i=100。这个i的值永远都是100, 就说明它们的值不可以改变。
引用类型(可以理解为变量):
比如 Integer,object,(android里面的ImageView 。。。)等就是引用类型, 如果他们前面加了final 表示它们的引用地址不可以改变,但是内容可以改变。但是对于变量来说又不一样,只是标识这个引用不可被改变,例如 final File f=new File("c:\\test.txt");那么这个f一定是不能被改变的,如果f本身有方法修改其中的成员变量,例如是否可读,是允许修改的。形象的比喻:一个女子定义了一个final的老公,这个老公的职业和收入都是允许改变的,只是这个女人不会换老公而已。注:跟iOS中的const关键字有点像
需要记住的是:
1、final 修饰的类不能被继承;
2、final修饰的方法不能被重写;
3、final修饰的变量初始化以后不能被更改。
值类型(可以理解为常量):
比如int,float 等就是值类型, 如果它们定义的变量前加了final关键字, 例如 final int i=100。这个i的值永远都是100, 就说明它们的值不可以改变。
引用类型(可以理解为变量):
比如 Integer,object,(android里面的ImageView 。。。)等就是引用类型, 如果他们前面加了final 表示它们的引用地址不可以改变,但是内容可以改变。但是对于变量来说又不一样,只是标识这个引用不可被改变,例如 final File f=new File("c:\\test.txt");那么这个f一定是不能被改变的,如果f本身有方法修改其中的成员变量,例如是否可读,是允许修改的。形象的比喻:一个女子定义了一个final的老公,这个老公的职业和收入都是允许改变的,只是这个女人不会换老公而已。注:跟iOS中的const关键字有点像
需要记住的是:
1、final 修饰的类不能被继承;
2、final修饰的方法不能被重写;
3、final修饰的变量初始化以后不能被更改。
相关文章推荐
- 真机调试总体概述
- highcharter R语言
- chm内容显示为空白的处理方法
- 验证redis的快照和AOF
- (35)odoo中widget
- mongoDB 数据导出与导入
- 111. Minimum Depth of Binary Tree
- Detect ARM MOVW/MOVT relocations in shared library links
- HDOJ/HDU 1062 Text Reverse(字符串翻转~)
- uva 10553 Treasure Map
- vim配置及插件安装管理(超级详细)
- poj 3368 (线段树pascal)
- matlab图像处理基础知识0(双线性插值matlab实现--调整水平和垂直放大倍数)
- HDOJ/HDU 1062 Text Reverse(字符串翻转~)
- leetcode.138. Copy List with Random Pointer
- 数据清洗的一些梳理
- python爬取当前汇率,jython的应用,实时汇率兑换
- 为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?)
- HTML获取触发事件的元素id
- Erlang gen_tcp相关问题汇编索引