/*声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本
1.所有对象共享
2.不需要声明直接调用
3.类加载时创建
*/
class Calc { private Calc() { } private static double numbera; public double NumberA { get { return numbera; } set { numbera = value; } } private static double numberb; public double NumberB { get { return numberb; } set { numberb = value; } } public static Calc getCalc(double a,double b) { numbera = a; numberb = b; return new Calc(); } public double AddFaction() { return numbera + numberb; } public double SubFaction() { return numbera - numberb; } }
static void Main(string[] args) { Calc cl = Calc.getCalc(9.2, 2.1); double d1 = cl.AddFaction(); double d2 = cl.SubFaction(); Console.WriteLine($"Once---d1:{d1},d2:{d2}"); cl.NumberA = 3; cl.NumberB = 4; d1 = cl.AddFaction(); d2 = cl.SubFaction(); Console.WriteLine($"Senc---d1:{d1},d2:{d2}"); Calc cl2 = Calc.getCalc(2, 2); Console.WriteLine($"C1A:{cl.NumberA},C1B:{cl.NumberB}"); Console.WriteLine($"C2A:{cl2.NumberA},C2B:{cl2.NumberB}"); }