1.非静态类中可以有静态成员;
2.调用:实例类调用自己的非静态方法的时候,需要对象名.方法名();
实例类调用自己的静态方法的时候,需要类名.方法名();
3.静态方法中只能访问到静态成员。
详见下面代码实现
//定义非静态类
public class Person//非静态类
{
public static string Name { get; set; }
public int Age { get; set; }
public char Gender { get; set; }
public static void SayHello()//静态方法
{
Console.WriteLine("大家好,我是{0}",Name);
}
}
//静态成员的调用
static void Main(string[] args)
{
Person person = new Person();
Person.Name = "张三";
Person.SayHello();//类名.方法名()调用
Console.ReadKey();
}
4.静态类中不允许出现实例成员,哪怕是方法也不行
public static class Person
{
public static string Name { get; set; }
//public int Age { get; set; }//如果类中包含注释部分实例成员,编译报错
//public char Gender { get; set; }
public static void SayHello()
{
Console.WriteLine("大家好,我是{0}",Name);
}
注意:如果类中包含注释部分实例成员,编译报错。
5.不能创建静态类的对象
static void Main(string[] args)
{
//Person person = new Person();////如果类中包含注释部分创建实例对象,编译报错
Person.Name = "张三";
Person.SayHello();
Console.ReadKey();
}
6.经常把静态类当做 “工具类”,例如Console类的WriteLine(),调用时用采用类名.方法名;
总结:静态类中只能存在静态成员,不允许出现实例成员。
但是我们非静态类中可以有静态成员,也可以有非静态成员,
但是,静态成员访问不到实例成员。
非静态类中的非静态成员可以访问到静态成员。
|