如何在内部解释类范围内的定义和实例化变量

本文关键字:定义 实例化 变量 范围内 在内部 解释 | 更新日期: 2023-09-27 18:33:48

Class1 声明一个变量并实例化它。 定义和实例化语句允许是类范围。

class class1
{
public bool variable = false;
}

使用相同的逻辑,为什么 Class2 不能实例化变量。 为什么不允许实例化语句像这样在类范围内。

class class2 : class1
{
variable = false;
}

我很感兴趣,如果这背后有任何合乎逻辑的解释。可能是编译器以某种特殊的方式解释这种定义。

如何在内部解释类范围内的定义和实例化变量

除了内联初始化之外,不允许在类主体中语句不包含在构造函数、方法或属性等内容中。

如果要将变量初始化为其他内容,请将其粘贴在构造函数中(这就是构造函数的用途):

public class Class2 : Class1
{
    public Class2()
    {
        variable = false;
    }
}

另一个类似的问题:

语句仅在方法中,但是声明呢?

总之,声明只允许在类范围内进行。内联初始化等效于初始化构造函数中的成员变量 - 我的猜测是作为语法糖添加的,因为内联初始化是许多语言的股票和交易。

还有关于命名的快速说明,类通常是标题大小写。

从未发现第二种情况有问题,除了在第二种情况下您没有定义变量的 TYPE。

编辑

我想我错过了你的问题:

成员variable是基类定义的一部分。不能通过任何方法访问类的公共成员。就是这样。