Java2C#translation:C#中接口的公共方法

Der*_*unk 3 c# java translation public-method

另一个翻译问题,这可能更具理论性,但我对设计选择感到好奇.SFNQ:

为什么C#不允许控制访问Java等接口中的方法?例如,在C#界面中:

   public void Visit(Axiom axiom);
Run Code Online (Sandbox Code Playgroud)

谢谢.

Jar*_*Par 6

在C#和.Net中,默认情况下,接口上的所有方法都是公共的.没有办法限制他们的访问权限.

考虑替代方案,在接口上拥有受保护的成员意味着什么?您如何建立访问规则以允许或禁止接口的调用者访问特定方法?(我的意思是在C#意义上保护,而不是java).

更好的是,私人意味着什么?


Ran*_*pho 5

在C#和Java中,接口上的所有方法都是公共的.

在Java中,允许使用public关键字,这可能会节省解析规则.在C#中,public关键字被认为是冗余的,并且完全从接口声明中删除.