首页 > 学院 > 开发设计 > 正文

你不知道的Static

2019-11-17 02:40:31
字体:
来源:转载
供稿:网友

你不知道的Static

Static静态字段,静态方法,静态代码块

简介

一些场景下会要求一个类的多个实例共享一个成员变量;有时候想定义一些不和具体对象关联、不需要new就调用的方法

举例:Console类的WriteLine,MessageBox的Show。这个时候就要使用静态。

所谓静态方法、静态成员是类的方法、类的成员,他不归属于任何一个对象。因此不用new出来,直接类型.静态方法()就能用了。

特征

1、static变量不需要new就可以直接通过类名调用。static变量是共享的内存空间,非static变量则是对象隔离的。

2、static 方法中无法使用this关键字,因为static独立于对象存在,不是任何人的唯一。

3、static成员中只能访问static成员,不能直接访问非static成员。非static成员可以访问static成员。

静态代码块

1. 示例

classMyTest{ staticMyTest() { Console.WriteLine("静态代码块"); } publicMyTest() { Console.WriteLine("构造方法"); } }MyTest t1 = newMyTest(); MyTest t2 = newMyTest();2. 说明 1.静态代码块,在类第一次被使用的时候执行一次,只要用到类,哪怕没new对象(比如只是声明变量)也会被执行,且只执行一次。 2.静态代码块,在构造函数执行之前执行。3. 试题publicclassMyJingTaiDaimaKuai { publicstaticinti = test1();//最开始执行 publicintage = test2();//new的时候先执行成员变量的初始化,再执行构造函数 staticMyJingTaiDaimaKuai() { Console.WriteLine("静态代码块");//再执行 } publicMyJingTaiDaimaKuai() { Console.WriteLine("构造函数"); } publicstaticinttest1() { Console.WriteLine("test1"); return3; }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表