static关键字:用于修饰类,字段,属性,方法,构造方法等
静态字段:被static关键字修饰的字段,不属于任何对象,只属于类,必须要用类名.静态字段名进行访问
class Person
{
public string name;//普通字段
public static string address=\"上海\";//静态字段
}
class Program
{
static void Main(string[] args)
{
Person p1 = new Person();
p1.name = \"1\";
Console.WriteLine(p1.name+ \"---\"+Person.address);
Person p2 = new Person();
p2.name = \"2\";
Console.ReadKey();
}
}
静态字段可以重新赋值,类名.静态字段名=新的值;
Person.address = \"江苏 \";
静态属性:被static关键字修饰的属性,使用类名.静态属性名进行访问
静态属性不能用于封装非静态成员
public string Name//普通属性
{
get { return name; }
set { name = value; }
}
public static string Address//静态属性
{
get { return address; }
set { address = value; }
}
静态普通方法:被static修饰的方法,直接使用类名.静态方法名进行访问
public void P1()
{
Console.WriteLine(\"我是普通方法\");
}
public static void P2()
{
Console.WriteLine(\"我是静态方法\");
}
}
class Program
{
static void Main(string[] args)
{
Person p1 = new Person();
p1.P1();
Person.P2();
}
静态构造方法:初始化静态成员,一个类只能有一个静态构造方法,该静态方法没有任何访问修饰符,也没有参数
静态类:当类中的成员全是静态成员时,可以把这个类声明为静态类。声明静态类需要在class关键词前加static
静态类不能实例化对象
单例设计模式:设计一个类,需要保证整个程序在运行期间只存在一个实例对象
class Monkey
{
//(1)声明一个静态且私有的一个当前类类型的字段
private static Monkey instance;
//(2)创建私有无参构造方法,保证外部无法实例化这个类
private Monkey() { }
//(3)创建一个静态方法,用于创建此类的唯一对象
public static Monkey Instance()
{
if (instance == null)
{
instance = new Monkey();
}
return instance;
}
}
class Program
{
static void Main(string[] args)
{
Monkey m1 = Monkey.Instance();
Monkey m2 = Monkey.Instance();
Console.WriteLine(m1==m2);//true
Console.Read();
}
}
}
继续阅读与本文标签相同的文章
-
新功能初探 | RDS MySQL 8.0 支持 DML 语句 returning
2026-05-18栏目: 教程
-
浅谈分布式计算的开发与实现(二)
2026-05-18栏目: 教程
-
Apache Flink Meetup · 北京站,可能有你最想听的内容!
2026-05-18栏目: 教程
-
在闲鱼实习做Flutter是什么感受?
2026-05-18栏目: 教程
-
阿里云智能--基础产品技术月刊 2019年8月
2026-05-18栏目: 教程
