静态成员和静态类
全局变量。static类变量。
不用new就能用的方法:static方法,static方法其实就是普通函数
在static方法中可以调用其他static成员,但是不能调用非static成员。在非static方法中可以调用static成员。
class Program
{
static void Main(string[] args)
{
Person.A = 30;//类可以直接调用静态成员。无须new
Console.WriteLine("输出值为:{0}",Person.A);
}
}
class Person
{
public static int A;//静态成员。不需要new一个对象,直接可以调用。(可以当成全局变量用。)其他cs文件也可以直接调用。
}输出结果:
namespace 静态成员
{
class Program
{
static void Main(string[] args)
{
Person.A = 30;//类可以直接调用静态成员。无须new 只要加上 static就是静态成员
Console.WriteLine("输出静态成员Person.A的值:{0}", Person.A);
DoIt();//调用静态方法(函数)。
Dog d = new Dog();
d.叫();//调用 叫 函数。
Person.汇报();//类可以直接调用静态成员方法。无须new 只要加上 static就是静态成员
Person p = new Person();
p.Age = 100;
p.非static方法();//可以调用
Console.ReadKey();
}
public static void DoIt()//要调用 静态成员,必须加上static
{
Console.WriteLine("——————————————————————————");//输出横线
Console.WriteLine("在DoIt方法中调用静态成员Person.A的值:{0}", Person.A);//可以调用,但方法必须是 static 。
}
}
class Person
{
public static int A;//静态成员。不需要new一个对象,直接可以调用。(可以当成全局变量用。)其他cs文件也可以直接调用。
public int Age;//声明一个字段。
public static void 汇报()
{
Console.WriteLine("——————————————————————————");//输出横线
Console.WriteLine("在Person类中调用静态成员Person.A的值:{0}", Person.A);//可以方法中可以调用,不可以调用非 static 成员,如不能调用Age数据。
}
public void 非static方法()
{
Console.WriteLine("——————————————————————————");//输出横线
Console.WriteLine("在 非static方法 调用静态成员Person.A的值:{0},也可以调用非static字段:{1}", Person.A,Age);//可以在非static成员方法中可以调用static成员。
}
}
class Dog
{
public void 叫()//声明一个函数。
{
Console.WriteLine("——————————————————————————");//输出横线
Console.WriteLine("在Dog类中的 叫 函数调用静态成员Person.A的值:{0}", Person.A);
}
}
}输出结果:
静态类,不能被new的类就是静态类。静态类一般用来实现一些函数库。***Helper,SqlHelper,PageHelper。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("输出静态类P.A的值:{0}", P.A());//静态类可以直接调用,无法new
Console.ReadKey();//按任意键退出
}
}
static class P //类加上static 就是静态类
{
public static int A()//静态方法。
{
Console.WriteLine("请输入一个数:");//提示
string s = Console.ReadLine();//接收用户输入的值。
return Convert.ToInt32(s);//返回 转换成整型的值。
}
}输出结果:
