static class D { }
/// <summary>
/// 静态类的特点
/// 1.只能包含静态类成员
/// 2.无法实例化,无法被继承,无法继承它类,该类为密封类
/// 3.可以包含静态构造函数,不能包含实例构造函数
/// </summary>
static class A
{
//静态类不能有实例构造函数
//public A() {
//}
//const 字段的行为在本质上是静态的
public const string FILE = "FILE";
/// <summary>
/// 1:静态类可以有静态构造函数,静态构造函数不可继承;
///2:静态构造函数可以用于静态类,也可用于非静态类;
///3:静态构造函数无访问修饰符、无参数,只有一个 static 标志;
///4:静态构造函数不可被直接调用,当创建类实例或引用任何静态成员之前,静态构造函数被自动执行,并且只执行一次。
/// </summary>
static A()
{
Console.WriteLine("静态构造函数A");
}
//静态类中不能有实例成员
//public string Name { get; set; }
//public void S() {
//}
public static void MyMethodA()
{
Console.WriteLine("静态方法A");
}
}
//静态类不能被继承
//class B : A { }
class C
{
public static string Name = "abcd";
public int age;
//静态函数必须无参数
static C()
{
Console.WriteLine("静态构造函数C" + Name);
}
//静态方法不可以调用实例方法和实例属性
public static void StaticMethod()
{
Console.WriteLine("静态方法C" + Name);
}
//实例方法可以调用静态方法和静态属性
public void MyMethodC()
{
StaticMethod();
Console.WriteLine("方法C" + Name);
}
}
class Program
{
static void Main(string[] args)
{
// 当定义的类不需要进行实例化时,我们使用静态类;如果需要实例化对象,需要继承等特性时,应该使用非静态类,并且将统一使用的变量和方法设为静态的,那么所有实例对象都能访问。
A.MyMethodA();
new C().MyMethodC();
Console.WriteLine(A.FILE);
Console.ReadLine();
}
}
/// <summary>
/// 静态类的特点
/// 1.只能包含静态类成员
/// 2.无法实例化,无法被继承,无法继承它类,该类为密封类
/// 3.可以包含静态构造函数,不能包含实例构造函数
/// </summary>
static class A
{
//静态类不能有实例构造函数
//public A() {
//}
//const 字段的行为在本质上是静态的
public const string FILE = "FILE";
/// <summary>
/// 1:静态类可以有静态构造函数,静态构造函数不可继承;
///2:静态构造函数可以用于静态类,也可用于非静态类;
///3:静态构造函数无访问修饰符、无参数,只有一个 static 标志;
///4:静态构造函数不可被直接调用,当创建类实例或引用任何静态成员之前,静态构造函数被自动执行,并且只执行一次。
/// </summary>
static A()
{
Console.WriteLine("静态构造函数A");
}
//静态类中不能有实例成员
//public string Name { get; set; }
//public void S() {
//}
public static void MyMethodA()
{
Console.WriteLine("静态方法A");
}
}
//静态类不能被继承
//class B : A { }
class C
{
public static string Name = "abcd";
public int age;
//静态函数必须无参数
static C()
{
Console.WriteLine("静态构造函数C" + Name);
}
//静态方法不可以调用实例方法和实例属性
public static void StaticMethod()
{
Console.WriteLine("静态方法C" + Name);
}
//实例方法可以调用静态方法和静态属性
public void MyMethodC()
{
StaticMethod();
Console.WriteLine("方法C" + Name);
}
}
class Program
{
static void Main(string[] args)
{
// 当定义的类不需要进行实例化时,我们使用静态类;如果需要实例化对象,需要继承等特性时,应该使用非静态类,并且将统一使用的变量和方法设为静态的,那么所有实例对象都能访问。
A.MyMethodA();
new C().MyMethodC();
Console.WriteLine(A.FILE);
Console.ReadLine();
}
}