【发布时间】:2015-09-26 23:06:55
【问题描述】:
总的来说,我对编码还是很陌生,虽然这个简单的程序只是为了测试构造函数的工作原理,但我仍然想知道为什么会出现这个错误。
using System;
public class methodTest
{
int a;
int b;
int c;
public methodTest(int i, int j, int k)
{
a = i;
b = j;
c = k;
}
}
public class methodObj
{
static void Main()
{
methodTest obj = new methodTest(10, 20, 30);
Console.WriteLine("obj = " + obj.b);
Console.ReadKey();
}
}
我不完全确定为什么会出现错误。问题出在 Console.WriteLine 上,它声明它无法访问 obj.b。这些变量似乎是在公共类中声明的,那么为什么不能访问它们呢?我试图寻找解决方案,但我发现的所有问题都太复杂了,以至于我无法得到可以转化为我自己理解的答案。 所有帮助表示赞赏!
【问题讨论】:
-
变量隐式为
private。在缺少访问说明符的情况下,任何东西都无法访问它们,因为它们不是那个确切的类。 -
@EBrown 值得注意的是,这里的私有变量 a、b 和 c 更准确地称为 字段。
-
@phoog 确实,也将其添加到我的答案中。
标签: c# constructor