为什么访问修饰符在Java中使用如此之多,而在C中却没有使用?

为什么访问修饰符在Java中使用如此之多,而在C中却没有使用?,java,c#,Java,C#,也就是说,为什么Java主方法是公共的,而C#main方法默认为内部的?我还发现C#中的类通常不需要表示访问修饰符,但在Java中,我们过度确保可见性仅限于那些需要查看这些其他类的信息的类 在dotnet中,Main方法不必是public。它可以是private类中的private,运行时仍然能够解析它。不过,出于您自己的原因,您可能需要更改Main上的修饰符 你可以在这里找到更详细的信息 一般来说,尽管dotnet开发人员确实(或应该)像Java开发人员一样考虑访问修饰符。Java总是默认使用

也就是说,为什么Java主方法是公共的,而C#main方法默认为内部的?我还发现C#中的类通常不需要表示访问修饰符,但在Java中,我们过度确保可见性仅限于那些需要查看这些其他类的信息的类

在dotnet中,
Main
方法不必是
public
。它可以是
private
类中的
private
,运行时仍然能够解析它。不过,出于您自己的原因,您可能需要更改
Main
上的修饰符

你可以在这里找到更详细的信息


一般来说,尽管dotnet开发人员确实(或应该)像Java开发人员一样考虑访问修饰符。

Java总是默认使用包访问,这促进了面向对象的封装:您自己的类可以看到类/成员,但其他包不能。