2017-10-10 67 views
0

当我们声明一个类为静态类时,我们需要显式声明每个成员为静态,否则编译器错误。 但是,当我们声明一个接口时,我们不需要声明所有成员都是公共的,它们是默认公开的。 任何想法为什么这样的行为?静态和接口类成员

+0

你可以声明一个类作为静态或你是指静态的内部类? –

+0

我在参考C# 像public static class Customer {} –

回答

0

公共保护内部保护的内部,并私人,都是access modifiers。 C#中的每种类型都具有默认的可访问性级别,因此您无需明确定义它们。

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

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