const 和 readonly关键字声明的变量的区别

简介:
const 和 readonly关键字声明的变量(常量变量和只读变量)的区别
 
1.按可声明的变量类型:const只能声明简单类型和string类型的变量,如:int,string,double。
                      而readonly则可以声明任意类型。

2.按赋值方式:const只能在声明变量时赋值,在声明时也必须要赋值
              readonly可以在声明或构造函数中赋值(包括同时),
 
3.按成员的身份:const声明的变量是静态的,归类所有,且不能在其他地方改变其值了。 eadonly声明的变量可以是静态(不追随实例)的也可以是动态(追随实例)的,关键是看 前面有没有static,有则是静态的,否则是动态的。
 
4.按做组件时主程序对它们的调用方式(这一条是很高级的主题了,我还不知道这种区别的好处):const声明的变量在主程序编译时就调用,而static readonly声明的 变量在主程序运行时才调用(const声明的变量和readonly声明的变量在这方面没有可比性,因为一个是静态
的,一个是动态的)。

 
这次在做项目时,准备使用一个常量成员变量(const变量)表示软件试用的最大次数,结果在调用是发现不能调用。现在知道什么原因了,原来const声明的是静态的变量,在实例方法中是不能调用的。
 
我想在实际项目中readonly关键字要使用的多些,要方便些。因为它声明的变量可以在实例函数中调用。
 
如果上面的每一条我都举实例来验证,是非常花时间的,只好作罢。如果能在项目中给你一些帮助,我会感到很欣慰的。
 
欢迎交流指教。









本文转自 参天树 51CTO博客,原文链接:http://blog.51cto.com/119244/51464,如需转载请自行联系原作者
目录
相关文章
|
数据可视化 数据挖掘 UED
Plotly交互式数据可视化
【10月更文挑战第12天】本文介绍了如何使用 Plotly 实现交互式数据可视化,涵盖从安装 Plotly 到数据准备、图表创建、添加交互功能、导出图表及自定义图表样式的全过程。通过具体示例,展示了如何创建和优化交互式折线图,提升数据分析的效率和趣味性。
560 60
|
11月前
|
人工智能 JavaScript 前端开发
通义灵码 2.0 全新升级,阿里云正式推出繁星计划
在上午的通义灵码 2.0 发布会上,阿里云正式推出通义灵码繁星计划。通义灵码繁星计划希望为每位开发者送一个智能编码助手,为职场、校园开发者提供不同维度的产品免费使用、体系化课程学习、人才认证考试等权益,同时长期建设通义灵码MVP、校园大使体系,激活创新潜力,培养创新明星,点亮追梦之旅。
|
监控 Cloud Native Java
传统应用的“云”端新生——Quarkus迁移全攻略
随着云计算的发展,传统单体应用逐渐显现出扩展性和维护成本等问题,而云原生应用因轻量、高效成为新宠。Quarkus作为一款高性能的云原生Java框架,正吸引越来越多开发者。本文详细介绍将传统应用迁移至Quarkus的步骤,包括全面评估、环境搭建、代码重构、数据库迁移、安全性与监控设置,以及测试和部署。通过这些步骤,您可以顺利实现应用的云原生化,享受其带来的诸多优势。
333 3
|
机器学习/深度学习 算法框架/工具 Python
深度学习中的正则化技术及其应用
【9月更文挑战第12天】在深度学习领域,正则化技术是防止模型过拟合的重要手段。本文将深入探讨L1、L2以及Dropout等常见的正则化方法,并结合代码示例,展示如何在实际应用中有效利用这些技术提升模型的泛化能力。
291 1
|
SQL 监控 数据库
SQL Server如何判断哪些会话/连接是长连接?
【8月更文挑战第14天】在SQL Server中,判断长连接可通过活动监视器查看持续时间和状态;查询`sys.dm_exec_sessions`获取持续时间超阈值的会话;利用性能监视器跟踪“User Connections”计数器变化;审查应用代码中连接池配置;或分析网络流量寻找持久连接。这些方法有助于管理和优化连接。
302 2
|
存储 NoSQL Java
Java中使用redis的bitMap实现签到功能
这个实现示例提供了一种灵活、高效的方式,展示了如何使用Redis来解决现实中的问题。
628 2
|
XML 设计模式 前端开发
如何使用Thymeleaf给web项目中的网页渲染显示动态数据?(一)
如何使用Thymeleaf给web项目中的网页渲染显示动态数据?(一)
|
算法 安全 机器人
复杂环境下多移动机器人路径规划研究(Matlab代码实现)
复杂环境下多移动机器人路径规划研究(Matlab代码实现)
250 0
|
机器学习/深度学习 人工智能 算法
人工智能论文
目前,由于人工智能技术尚处于发展阶段,且以机器学习、深度学习为代表的新一代人工智能技术主要体现在算法层面,而成熟的实体终端产品并不多。下面主要对发展较为成熟,且已初具市场规模的三款终端产品予以介绍,分别是智能音箱、智能机器人和无人机。
557 1
|
Cloud Native 网络安全 Docker
云原生之使用Docker部署webssh工具sshwifty
云原生之使用Docker部署webssh工具sshwifty
801 2