请各位大侠帮忙,谢谢!为什么Fun2就不能访问a呢?
class ClassA
{
public int a;
static public int b;
void Fun1() //定义一个非静态成员函数
{
a=10;
//正确,直接访问非静态成员
b=20;
//正确,直接访问静态成员
}
static void Fun2()
{
a=10;
//错误,不允许访问非静态成员
b=20;
//正确,允许访问静态成员,相当于ClassA.b=20
}
}
class ClassA
{
public int a;
static public int b;
void Fun1() //定义一个非静态成员函数
{
a=10;
//正确,直接访问非静态成员
b=20;
//正确,直接访问静态成员
}
static void Fun2()
{
a=10;
//错误,不允许访问非静态成员
b=20;
//正确,允许访问静态成员,相当于ClassA.b=20
}
}
普通方法虽然看起来并没传入一个this,但事实上是有的。没有this,自然无法访问this.a