【问题标题】:Static and Interface class members静态和接口类成员
【发布时间】:2023-03-16 15:34:01
【问题描述】:

当我们将一个类声明为静态时,我们需要将每个成员显式声明为静态,否则编译器错误。 但是,当我们声明一个接口时,我们不需要将所有成员都声明为公共的,默认情况下它们是公共的。 知道为什么会有这种行为吗?

【问题讨论】:

  • 你能将一个类声明为静态的还是你将内部类称为静态的?
  • 我引用了 C#,比如 public static class Customer {}

标签: interface static-classes


【解决方案1】:

publicprotectedinternalprotected internalprivate,都是access modifiers。 C# 中的每种类型都有默认的可访问性级别,因此您无需显式定义它们。

static 关键字是修饰符,但不是访问修饰符。大多数修饰符需要显式声明。

至于为什么他们强制将静态类中的成员定义为 static,我不确定。这可能是因为静态类可以包含非静态(即可实例化)嵌套类型;如果默认情况下将它们声明为静态,则可能会导致问题。

【讨论】:

    猜你喜欢
    • 2010-11-10
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 2013-03-10
    • 2018-10-05
    • 2012-04-13
    • 2011-03-31
    • 1970-01-01
    相关资源
    最近更新 更多