{:soso_e136:}昨天看到别人问的这个问题,后来到处看了下资料,还是没弄明白,为什么在同一个类中吗,非STATIC修饰的变量不能被static修饰的方法访问。作者: 王超洋 时间: 2012-5-16 11:22
根据我看的视频老师讲的,只要是没有加static的方法或属性,都必须先实例化,再通过实例名.方法名或实例名.属性名来访问,加static的方法或属性,可以直接通过 类名.方法名或类名.属性名来访问。
class Program
{
int age;
static void Main(string[] args)
{
Program a = new Program(); //实例化
a.age = 18;
}
}作者: 王友伟 时间: 2012-5-16 12:29
没有static的方法或属性,都要对类进行实例化通过实例化类名才能访问,而static方法或属性则可以直接通过类名访问,在本类之中的可以直接访问
namespace static静态方法
{
class B
{
public int b1;
public static int b2;
}
class A
{
int a1;
static int a2;
static void Main(string[] args)
{
A a = new A();
a.a1 = 20;
a2 = 20;
Console.WriteLine(a.a1);
Console.WriteLine(a2);
B b = new B();
b.b1 = 21;
B.b2 = 21;
Console.WriteLine(b.b1);
Console.WriteLine(B.b2);
Console.ReadKey();
}
}
}作者: 朱亮辉 时间: 2012-5-16 17:36
静态类与非静态类的访问方式,静态类可以通过类访问类中的静态方法、静态变量等等,而非静态类只能通过实例化对象访问,如果静态类中有非静态成员,当然是不可以访问的。