一、静态成员
C#中一个类的静态成员属性和静态成员方法统称为静态成员,其他情况的属性和方法叫做非静态成员。
静态成员用修饰符static修饰。
//非静态类Rect
class Rect
{
public static int x=5;//定义静态成员属性x,初始化等于5
public int y=10;//定义非静态成员属性y,初始化等于10
public void Perimeter()//定义非静态成员方法Perimeter,打印Perimeter
{
Console.WriteLine("Perimeter");
}
public static void Area()//定义静态成员方法Area(),打印Area
{
Console.WriteLine("Area");
}
}
通过创建Rect对象访问Rect类中的非静态成员
Rect r = new Rect();//创建Rect对象,创建Rect类实例引用r
Console.WriteLine(r.y);//通过对象访问类的非静态成员属性y
r.Perimeter();//通过对象访问类的非静态成员方法Perimeter()
通过类名Rect直接访问Rect类中的静态成员
Console.WriteLine(Rect.x);//通过类名直接访问类的静态成员属性x
Rect.Area();//通过类名直接访问类的静态成员方法Area()
注意:创建的对象不能访问类中的静态成员。
r.x;//创建的对象不能访问静态成员属性x
r.Area();//创建的对象不能访问静态成员方法Area()
静态类
C#中静态类用static修饰。
//静态类Circular
static class Circular
{
//public int a = 20;//不能在静态类中盛声明非静态成员属性(实例成员)
//public void Print()//不能在静态类中声明非静态成员方法
//{
// Console.WriteLine("Print1");
//}
public static int b = 20;//声明静态成员属性b
public static void Print2()//声明静态成员方法Print2()
{
Console.WriteLine("Print2");
}
}
注意:静态类中只能包含静态成员,且不能创建对象。静态类一般用于工具类。
不能在静态类中声明非静态成员
public int a = 20;//不能在静态类中盛声明非静态成员属性(实例成员)
public void Print()//不能在静态类中声明非静态成员方法
{
Console.WriteLine("Print1");
}