A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡盼盼 中级黑马   /  2013-9-3 11:15  /  1988 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我知道const用来声明常量readonly是只读访问,他俩还有别的不同吗?

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

2 个回复

倒序浏览
1.const关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值不能被修改。常数声明引入给定类型的一个或多个常数;
2.const数据成员的声明式必须包含初值,且初值必须是一个常量表达式。因为它是在编译时就需要完全评估;
3.const成员可以使用另一个const成员来初始化,前提是两者之间没有循环依赖;
4.readonly在运行期评估赋值,使我们得以确保“只读访问”的前提下,把object的初始化动作推迟到运行期进行;
5.readonly关键字与const关键字不同,const字段只能在该字段的声明中初始化。readonly字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly字段可能具有不同的值。另外,const字段是编译时常数,而readonly字段可用于运行时常数;
6.readonly只能在声明时或者构造函数里面初始化,并且不能在static修饰的构造函数里面。

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
const 是指一个包含不能修改的值的变量,用来声明常量
常量表达式是在计算时是被完全计算的,因此不能被变量初始化

readonly 允许把一个字段设置成常量,也可执行运算,可以确定它的初始值
因为 readonly 是在计算时执行的,它可以用变量初始化


readonly 关键字与 const 关键字区别

1. const 字段只能在该字段的声明中初始化。
   readonly 字段可以在声明或构造函数中初始化
2. const 是编译时常数,而 readonly 字段可用于运行时常数。
3. const 默认就是静态的,readonly 声明设置成静态
4.const 对于引用类型的常数,可能的值只能是 string 和 null。
   readonly可以是任何类型

5.const的值是固定的,而readonly的值是可以在运行的时才确定

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马