#region 常量和静态变量静态类readonly
#region 常量和静态变量静态类readonly
//----------------------------------------------------------------------
//常量和静态变量,静态类
//----------------------------------------------------------------------
//类的静态变量和常量,都属于类而不属于对象,不能用对象来调用,只能用类名调用
//这不同于C++,是更合理的设计
//常量的值在类定义时就确定了,不因对象而不同,因此存放在类中更合理
class CNormclass
{
class CInclass
{
public float fx = ;
}
public int _id;
public const string cname = "CNormalclass"; //1,常量仅能修饰 :数字,bool,字符串,null引用
//不能像C++那样定义一个常量对象,这真是太悲哀了,因为很多时候这可以加速数据传递,增加安全性
//由于这个原因,C#的List.ToArray每次都只能返回一个内部数组的拷贝,因此使用list存储数量较大较复杂的数据时
//不要轻易使用ToArray,直接用List就行了,它也支持下标索引方式取数组元素
const CInclass lst = null; //2,readonly也不能实现常量对象的效果
//readonly仅表示变量本身不能被赋值,但不阻止通过对象变量更改对象内的字段
//onc.readonlyobj.fx = 20
public float fx = ; private readonly CInclass readonlyobj = new CInclass(); public static void Test()
{
//1,不能调用非静态字段或方法
//this._id = 20; //error,没有this指针 //2,可以调用常量字段
var lname = cname; var onc = new CNormclass(); //私有变量在类的静态方法也可以访问
//2,虽然不能更改readonlyobj本身的值,却可以更改其内部成员的值,这就是readonly的作用
onc.readonlyobj.fx = ;
}
}
static class C712//类中类,默认为私有
{//静态类不能实例化,且只能声明:常量,静态常量,静态属性,静态方法
public const int constX = ; //1,常量
public static int staticX = ; //2,静态常量
public static int ix { set; get; } //3,静态属性 //一,【静态类中不能定义实例化字段】
//public int _id; //二,【静态类中不能定义实例化字段】
//void Ctest(){ //【error: 静态类中不能定义实例化方法】
// this._id = 20;
//} static void Test()//4,静态方法
{
//三,【静态方法中不能调用非静态变量或方法,因为没有this指针】
//_id = 20; //error //四,【可以调用常量字段,这与C++不同】
var c = constX;
} }
public const int ixd = ;
public static float fx = ;
public void Testff()
{
fx = ; //等价于Program.fx = 30,而不是 this.fx = 30;
Program.fx = ;
var tx = C712.constX;
C712.staticX = ;
var ix = Program.ixd; //var oc7 = new C712(); //error 静态类不能创建实例
}
#region 常量和静态变量静态类readonly的更多相关文章
- 常量和静态变量会先载入内存后在进行执行php代码
static $test=1;//在php执行前就已经写入内存$test++;var_dump($test);static $test=10;//在php执行前就已经写入内存var_dump($tes ...
- PHP的类中的常量,静态变量的问题。
自己在写一个小型的 angularJS 库的时候,觉得 javascript 中的很多概念有点像是PHP中的概念. 像类常量, 类中的静态变量(类的静态变量是类的所有实例都共享的),这些概念虽然在 j ...
- php类相关知识----类常量,静态变量
类常量 <?php class myuser { ;//定义的常量不带$符号,常量之前没有访问修饰符,常量之前没有修饰符号 public function monolog() { echo &q ...
- java 静态变量生命周期(类生命周期)
Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...
- java中静态的代码块,静态变量,静态方法
简单了解一下java虚拟机--jvm几个内存区域: 方法区:在java的虚拟机中有一块专门用来存放已经加载的类信息.常量.静态变量以及方法代码的内存区域, 常量池:常量池是方法区的一部分,主要用来存放 ...
- java入门---变量类型&类变量&局部变量&实例变量&静态变量
在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ; ...
- Swift中的类型属性(静态变量)
http://blog.haohtml.com/archives/15098 Swift中的类型属性(静态变量) Posted on 2014/06/13 类型属性语法 在 C 或 Objective ...
- java 静态变量生命周期(类生命周期)(转)
Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...
- .net学习之类与对象、new关键字、构造函数、常量和只读变量、枚举、结构、垃圾回收、静态成员、静态类等
1.类与对象的关系类是对一类事务的统称,是抽象的,不能拿来直接使用,比如汽车,没有具体指哪一辆汽车对象是一个具体存在的,看的见,摸得着的,可以拿来直接使用,比如我家的那辆刚刚买的新汽车,就是具体的对象 ...
随机推荐
- C++设计模式之桥接模式
[DP]书上定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化.考虑装操作系统,有多种配置的计算机,同样也有多款操作系统.如何运用桥接模式呢?可以将操作系统和计算机分别抽象出来,让它们各自发展 ...
- Build Tree View Structure for SharePoint List Data
博客地址 http://blog.csdn.net/foxdave 此文参考自->原文链接 版权归原作者所有,我只是进行一下大致的翻译 应坛友要求,帮助验证一下功能. SharePoint列表数 ...
- tensorflow :ckpt模型转换为pytorch : hdf5模型
参考链接:https://github.com/bermanmaxim/jaccardSegment/blob/master/ckpt_to_dd.py import tensorflow as tf ...
- Codeforces 580B: Kefa and Company(前缀和)
http://codeforces.com/problemset/problem/580/B 题意:Kefa有n个朋友,要和这n个朋友中的一些出去,这些朋友有一些钱,并且和Kefa有一定的友谊值,要求 ...
- NOIP模拟赛(洛谷11月月赛)
T1 终于结束的起点 题解:枚举啊... 斐波那契数 第46个爆int,第92个爆long long.... 发现结果一般是m的几倍左右....不用担心T. #include<iostream ...
- python爬虫——多线程+协程(threading+gevent)
上一篇博客中我介绍了如何将爬虫改造为多进程爬虫,但是这种方法对爬虫效率的提升不是非常明显,而且占用电脑cpu较高,不是非常适用于爬虫.这篇博客中,我将介绍在爬虫中广泛运用的多线程+协程的解决方案,亲测 ...
- PostgreSQL 9.6 keepalived主从部署
## 环境: PostgreSQL版:9.6 角色 OS IPmaster CentOS7 ...
- windows php下memcache+memcached安装与配置
环境声明: 服务器:Windows7 64-bit:Memcached:Memcached 64-bit for Windows(64位) 安装过程 解压刚刚下载的压缩包,得到两个文件:memcach ...
- DCI改进,发布后作业乱码不能打开
1.发布后作业不能打开问题,找到com.comsys.net.cn.dci.ui.dialog.PublishesDialog 的960行,改为这样: //以前没有指定文件编码前,采用系统默认编码 / ...
- Ubuntu14.04下Sublime Text 3解决无法输入中文
在Ubuntu 14.04中安装了SublimeText 3之后发现既然不支持输入中文,于是在网上搜罗一下,发现很多人遇到了同样的问题,但是解决办法大该就只有一个.下面根据自身的安装及解决办法总结如下 ...