static静态成员:不需要new一个成员,即可使用。在static方法中,可以调用其他的static成员,但是不能调用非static成员。在非static成员中可以调用static成员
class Program
{
static void Main(string[] args)
{
Person.Age = 30; //并没有new一个Person,可以直接调用
Person p1 = new Person();
ConsoleApplication6.New.Person p2 = new New.Person();
Console.WriteLine(Person.Age);
Test();
Do d = new Do();
d.Test1();
Person pe = new Person();
pe.Name = "张三";
pe.SayHi();
Console.ReadKey();
}
/// <summary>
/// 1
/// </summary>
public class Person
{
public string Name; //非静态成员
public static int Age; //静态成员
public static void Page() //在类中声明一个静态方法
{
Console.WriteLine("输出:{0}", Person.Age);
}
//public static void Say()
//{
// Console.WriteLine("姓名:{0},年龄:{1}", Name, Age);
//在static方法中,不能调用非static成员(Name是非静态成员)
//}
public void SayHi()
{
Console.WriteLine("嗨!我的姓名:{0},年龄:{1}",Name,Age);//
}
//在非静态成员SayHi()中,可以调用static成员Age
}
/// <summary>
/// 2
/// </summary>
public static void Test() //这是一个静态方法
{
Console.WriteLine("输出年龄:{0}", Person.Age); //可以在静态方法中调用其他静态成员
}
/// <summary>
/// 3
/// </summary>
public class Do
{
public void Test1() //非静态方法
{
Console.WriteLine("年龄:{0}", Person.Age);
}
}
}
静态类:一般用来实现一些函数库。它是不能被new的类,例如 static class Person {}
那么 Person p=new Person(); 是不能的,会报错
|