1 回答
TA贡献1806条经验 获得超5个赞
我看不出这里有很大的不同。在 JAVA 中,您必须提供接口的名称来限定类,而在 C# 中,您将使用命名空间。事实上,JAVA 语法因此充当某种命名空间。因此,您真正节省的唯一事情是一些打字负担得起的类型namespace MyNamespace。
话虽如此,你可以在 JAVA 中做到这一点:
interface MyInterface
{
MyClass DoSomething();
class MyClass { }
}
interface AnotherInterface
{
MyClass DoSomething();
class MyClass { }
}
在 C# 中,类似的方法是这样的 - 正如您已经提到的:
namespace MyNamespace
{
interface MyInterface { MyClass DoSomething(); };
class MyClass { }
}
namespace AnotherNamespace
{
interface AnotherInterface { MyClass DoSomething(); };
class MyClass { }
}
在 JAVA 中使用类型如下:
MyInterface.MyClass m = interfaceInstance.DoSomething();
在 C# 中,以下内容是有效的:
MyNamespace.MyClass m = interfaceInstance.DoSomething();
在两种语言中,您都必须限定类的完整名称。在 C# 中,您是通过其命名空间执行此操作,而在 JAVA 中则是通过其接口(但它充当命名空间)来执行此操作。
所以实际上并没有太大的区别,无论如何你必须提供命名空间/接口。我能看到的唯一区别是您需要输入namespaceC# 和一些大括号。
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报