我对 Java 还很陌生(但拥有多年的 C#.NET 经验)。
是否存在 Java/JRE 和 C#/.NET 之间最重要差异的比较?
在 Java“解决方案”中发现了“奇怪”的行为。我的工作区中有几个项目。其中一个包无法编译。但是这个包还包含其他项目使用时没有问题的类。
所以在我看来,即使一个类没有在包中编译,该包中的其他类也可以被其他项目使用?
包是否与 .NET 中的程序集 (.dll) 相当?在 .NET 中,当类未编译时,不会生成 .dll。
对我来说另一个奇怪的事情是 .class 文件也被 checkin 源代码控制系统。也许这就是为什么可以使用来自不可编译包的类的原因。将 .class 文件 checkin 源代码管理真的有意义吗?
最佳答案
我正在做相反的事情,学习 C# 并有一些 java 经验。我想说 java 中的包与 .NET 中生成的 .dll 文件略有不同。 java中的包被编译成单独的类文件。因此,如果一个 java 源文件未在包中编译,您可以使用在该包中编译的其他类(只要您正在使用的其他类之一不需要未编译的类) )。我想说将 .class 文件 checkin 源代码管理是没有意义的。我只是检查 java 源文件。
您可能想查看包生成的文件夹结构,这将使您了解正在输出的内容。通常,如果您的包是 com.mycompany.myapp,那么您将拥有 com/mycompany/myapp 的文件夹结构,并且在 myapp 文件夹中您将看到类文件,它的工作原理如下。我确信其他人可以提供更多详细信息,但我希望这对您有所帮助。
关于c# - Java包无法编译,但该包中的某些类可以被其他项目使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15432509/