1

当我想private在属性中使用非静态字段时public static,我的非静态字段出现了一些编译错误private,当我创建它时static,一切正常。

我对编译器不太了解,所以我想知道为什么支持字段也应该是static

4

1 回答 1

7

如果支持字段不是静态的,那么当您在静态属性访问器中使用它时,您将如何获取该字段的实例?请记住,static成员上的修饰符意味着该成员与类型本身相关联,而不是与该类型的特定实例相关联。为了使静态属性起作用,它必须有一个本身是静态的支持字段,以便可以相应地实现它。

出于同样的原因,您不能在没有实例的情况下访问静态方法中的任何非静态成员。

于 2012-11-18T08:30:48.977 回答