#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的更多相关文章

  1. 常量和静态变量会先载入内存后在进行执行php代码

    static $test=1;//在php执行前就已经写入内存$test++;var_dump($test);static $test=10;//在php执行前就已经写入内存var_dump($tes ...

  2. PHP的类中的常量,静态变量的问题。

    自己在写一个小型的 angularJS 库的时候,觉得 javascript 中的很多概念有点像是PHP中的概念. 像类常量, 类中的静态变量(类的静态变量是类的所有实例都共享的),这些概念虽然在 j ...

  3. php类相关知识----类常量,静态变量

    类常量 <?php class myuser { ;//定义的常量不带$符号,常量之前没有访问修饰符,常量之前没有修饰符号 public function monolog() { echo &q ...

  4. java 静态变量生命周期(类生命周期)

    Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...

  5. java中静态的代码块,静态变量,静态方法

    简单了解一下java虚拟机--jvm几个内存区域: 方法区:在java的虚拟机中有一块专门用来存放已经加载的类信息.常量.静态变量以及方法代码的内存区域, 常量池:常量池是方法区的一部分,主要用来存放 ...

  6. java入门---变量类型&类变量&局部变量&实例变量&静态变量

        在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下:     type identifier [ = value][, identifier [= value] ...] ; ...

  7. Swift中的类型属性(静态变量)

    http://blog.haohtml.com/archives/15098 Swift中的类型属性(静态变量) Posted on 2014/06/13 类型属性语法 在 C 或 Objective ...

  8. java 静态变量生命周期(类生命周期)(转)

    Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放 ...

  9. .net学习之类与对象、new关键字、构造函数、常量和只读变量、枚举、结构、垃圾回收、静态成员、静态类等

    1.类与对象的关系类是对一类事务的统称,是抽象的,不能拿来直接使用,比如汽车,没有具体指哪一辆汽车对象是一个具体存在的,看的见,摸得着的,可以拿来直接使用,比如我家的那辆刚刚买的新汽车,就是具体的对象 ...

随机推荐

  1. SPOJ VLATTICE Visible Lattice Points 莫比乌斯反演 难度:3

    http://www.spoj.com/problems/VLATTICE/ 明显,当gcd(x,y,z)=k,k!=1时,(x,y,z)被(x/k,y/k,z/k)遮挡,所以这道题要求的是gcd(x ...

  2. bzoj4811

    题解: 对于每一个节点,我们建立v0,v1 v0表示0进过会怎么样 v1表示1进过会怎么样 然后线段树合并 代码: #include <cstdio> #include <cstri ...

  3. 在jenkins和sonar中集成jacoco(三)--使用jacoco收集集成测试的覆盖率

    我们系统使用weblogic做服务器,集成测试框架使用的是junit+selenium. 首先,要把jacoco的jacocoagent.jar包放到部署应用的服务器上,接着在系统服务的JAVA_OP ...

  4. New Concept English Two 9 22

    The video can be found on the website. $课文20 独坐孤舟 190. Fishing is my favourite sport. 钓鱼是我特别喜爱的一项运动. ...

  5. Map集合统计字母次数

    Map集合练习:"asfefxAAcf34vrfdfse2-2asd--wdd"获取该字符串中,每一个字母出现的次数要求打印的结果是:a(2)c(1)...;思路:对结果分析发现, ...

  6. swift3.0  代码创建经典界面的九宫图--优化篇

    在上一篇只是简单实现了九宫图效果,本章需要形成APP界面九宫图效果 override func viewDidLoad() { super.viewDidLoad() createnine() } / ...

  7. bootstrap table教程--使用入门基本用法

    笔者在查询bootstrap table资料的时候,看了很多文章,发觉很多文章都写了关于如何使用bootstrap table的例子,当然最好的例子还是官网.但是对于某部分技术人员来说,入门还是不够详 ...

  8. 如何利用 AVDictionary 配置参数(转)

    本文是我的 FFMPEG Tips 系列的第五篇文章,准备介绍下 ffmpeg 提供的一个非常好用的健值对工具:AVDictionary,特别是对于没有 map 容器的 c 代码,可以充分利用它来配置 ...

  9. RK3288 device descriptor read/64, error -32

    CPU:RK3288 系统:Android 5.1 主板有两个USB接口,一个接USB摄像头,一个接身份证模块. 插入摄像头可以正常打开,再插入身份证模块时,摄像头就会卡主,而且身份证模块无法识别,内 ...

  10. mysql索引优化续

    (1)索引类型: Btree索引:抽象的可以理解为“排好序的”快速查找结构myisam,innodb中默认使用Btree索引 hash索引:hash索引计算速度非常的快,但数据是随机放置的,无法对范围 ...