一.什么是静态方法,最好帮忙举个例子
二。上面4,5,6要怎么理解啊作者: 刘豪 时间: 2012-6-8 22:14
看如下代码
class Person
{
static int age;
string name
public Person(){}
public string SetName(string pName){name=pName;}
static public int GetAge(){return age}
}
其中age、GetAge()都是静态成员,是类级别的成员,只能用类来调用,如Person.age、Person.GetAge,Person类型的对象是不能调用这两个成员的,而且也不能被非static方法调用包括构造方法。一句话静态成员都只能由类直接调用,而实例方法都只能由对象调用。作者: 朱亮辉 时间: 2012-6-8 22:21
1、使用static修饰的方法,可以直接用类访问
2、没有使用static修饰的方法,只能通过对象访问(类的实例)
3、static修饰的方法不能被重写,不用static修饰的方法就可以被重写。
class Program
{
static void Main(string[] args)
{
//Test1方法只能先实例化一个对象,通过对象t来访问(不用static修饰的方法)
Test t = new Test();
t.Test1();
//使用static修饰的方法可以直接通过类访问方法
Test.Test2();
}
}
public class Test
{
//不带static的方法
public void Test1()
{
class DAL
{
public static string GetUserName(...);
}
在BLL中调用:
DAL.GetUserName();
二、在DAL中使用实例方法,采用静态成员模式(或Singleton)通过实例来调用:
class DAL
{
public static readonly DAL dal = new DAL();
public string GetUserName(...);
}
在BLL中调用:
DAL.dal.GetUserName();
三、在DAL中使用实例方法,每次调用之前先创建DAL对象的实例:
class DAL
{
public string GetUserName(...);
}
在BLL中调用:
DAL dal = new DAL();
dal.GetUserName();