我在某地读过接口可以有成员变量。
仅限静态最终常量,可以使用 他们没有在课堂上的资格 实现接口。在 其他爪子,这些不合格的名字 污染命名空间。您可以使用 他们在哪里并不明显 是从那以后来的 资格是可选的。
我对他们的意思不太了解?有什么帮助吗?
答案 0 :(得分:5)
您阅读的内容不正确。接口不能包含成员变量。
在VB.Net中,接口内唯一允许的定义是
我不完全确定上段是指什么。基于文本虽然听起来像是在引用Java。他们说静态和最终通常与Java代码相关联而不是.Net(静态和只读)。
你能给我们一些关于它的背景吗?
答案 1 :(得分:1)
如果在类MyClass中定义这样的常量:
public static final int MY_CONSTANT = 1;
您可以使用 MyClass 限定符从其他类中将其称为 MyClass.MY_CONSTANT 。这暗示了常量定义的位置。
如果您在界面 MyInterface 中定义了这样的常量,您仍然可以使用 MyInterface.MY_CONSTANT 来引用它。但是,在实施 MyInsterface 的课程中,您只需使用 MY_CONSTANT 而不使用“ MyInterface ”前缀。
它可能看起来很方便(键击次数较少),但可能会导致混淆,因为没有限定符(前缀),不清楚最初定义常量的位置。
答案 2 :(得分:0)
向接口添加成员变量将通过后门引入MI。
在.NET中不可用,抱歉。
我希望它在那里。