静态与非静态
1、静态与非静态区别
(1)在非静态类中,既可以有非静态成员(即实例成员),也可以有静态成员。
(2)在调用实例成员时,需要使用:对象名.实例成员。在调用静态成员的时候,需要使用:类名.静态成员名。
总结:
(1)静态成员必须使用类名去调用,而实例成员使用对象名调用。
(2)静态函数中,只能访问静态成员,不允许访问实例成员。
(3)实例函数中,既可以使用静态成员,也可以使用实例成员。
(4)静态类中只允许有静态成员,不允许出现实例成员。
使用:
(1)如果想要将一个类当做一个工具类去使用,可以考虑将类写成静态的类。此方法不需要创建类的对象。
(2)静态类在整个项目中资源共享。
2、实例1
(1)新建一个控制台程序,名为静态与非静态,然后在选择此项目添加一个类,类名为Person。
代码1
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 静态与非静态 { class Person { private static string p_name; //定义静态成员变量 private char p_gender; //定义实例成员变量 public void Test1() { Console.WriteLine("定义一个非静态方法"); } public static void Test2() { Console.WriteLine("定义一个静态方法"); } } }
代码2
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 静态与非静态 { class Program { static void Main(string[] args) { //调用实例成员 Person p = new Person(); p.Test1(); //实例方法调用 //调用静态方法 Person.Test2(); //静态方法调用 Console.ReadKey(); } } }
运行结果