Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java构建应用程序与用C#构建应用程序不同吗?_C#_Java_Ide_Runtime - Fatal编程技术网

用Java构建应用程序与用C#构建应用程序不同吗?

用Java构建应用程序与用C#构建应用程序不同吗?,c#,java,ide,runtime,C#,Java,Ide,Runtime,我的意思是使用IDE和IDE Java是否有一个类似工具箱的控件,它有拖放控件,您可以四处移动,等等 另外,如果我用Java制作一个应用程序,它会在任何具有Java运行时环境的机器上运行吗?我不介意学习一些Java,因为这一点 假设我构建了一个简单的计算器,它会在Linux/Mac/Windows上运行吗 Java是否有一个类似工具箱的控件,它有拖放控件,您可以四处移动,等等 Java本身并非如此。但是,有几个IDE,比如Eclipse和Netbeans,都具有支持拖放的设计器 它会在任何具有J

我的意思是使用IDE和IDE

Java是否有一个类似工具箱的控件,它有拖放控件,您可以四处移动,等等

另外,如果我用Java制作一个应用程序,它会在任何具有Java运行时环境的机器上运行吗?我不介意学习一些Java,因为这一点

假设我构建了一个简单的计算器,它会在Linux/Mac/Windows上运行吗

Java是否有一个类似工具箱的控件,它有拖放控件,您可以四处移动,等等

Java本身并非如此。但是,有几个IDE,比如Eclipse和Netbeans,都具有支持拖放的设计器

它会在任何具有Java运行时环境的机器上运行吗

如果您没有任何特定于平台的内容(通常不需要):是

  • 有一些可视化的JavaGUI设计器可以在Google上找到
  • 若您构建一个Java应用程序,它将在任何具有正确版本的JRE的机器上运行——就像在.NET中一样,您可以针对某个版本
  • 如果您构建了一个简单的计算器,您应该能够让它在Linux/Mac/Windows上运行

  • Java和MS IDE之间的一大区别是,使用Java IDE,您将无法像使用MS IDE那样通过拖放获得对数据绑定的支持。实际上,Java阵营不鼓励这样做,因为这样会导致代码维护困难


    因此,尽管JavaIDE往往有非常完整的工具箱,不要期望任何有利于RAD而非OOP的东西

    我认为您混淆了编程语言和软件开发工具

    C#和Java都有可用的开发工具包和库,可用于创建应用程序。但是,它们的源代码和函数调用不能互换


    如果您用Java构建一个过于简单的应用程序,那么您很可能能够在任何带有Java虚拟机的机器上运行它。编写更专业的、特定于平台的代码,使其不会到处运行,这仍然是可能的。你现在可能可以忽略这一点。

    我大体上同意已经给出的答案,但我想对这一点有一点不同的看法

    你听起来像是一个研究Java的.NET开发人员。我是一名Java开发人员,已经开始进入.NET。与.NET世界和Java世界截然不同的一点是IDE。如果你走进一家.NET商店,你可能会看到VB编码器、C#编码器等所有使用Visual Studio开发.NET的产品。如果你走进一家Java商店,你会看到所有的程序员都在编写Java代码,但他们可能使用不同的IDE(Eclipse、RAD、NetBeans等),甚至在这些IDE中,你可能会看到IDE中的不同功能(例如,在Eclipse中,你可以通过插件添加功能)

    也就是说,像Eclipse这样的IDE中有一些插件类似于您在VisualStudio中看到的插件。我看到的主要区别是,与我见过的Java开发人员使用的任何IDE相比,这些IDE对VisualStudio来说都更为重要(我认识的许多Java开发人员在最初的屏幕创建之后都不会拖放任何东西)


    希望这能有所帮助。

    是的,您使用的是另一种语言是的,仅此而已。它都是面向对象的,所以没有区别。只是语言。。。关于你的计算器,为什么不呢?据我所知,java是通用的.NET可以运行C++ DLL,这是一个很大的优势。你能给我一个关于平台特定的例子吗?嗯,实际上可以用java程序调用WinAPI。但是,在大多数情况下,它们是不必要的。特定于平台的是通过Runtime.exec()运行shell命令,或者通过JNI调用本机C代码。@Michael Borgward,通过
    Runtime.exe
    生成一个进程并不一定会使你的应用程序依赖于操作系统。尽管调用本机代码实际上可以做到,只要你为每个操作系统提供不同的本机库。而且,正如winSharp93所提到的(这比我更重要),如果你想让它在其他平台上运行,你显然不能做任何特定于平台的事情。但是如果你出于某种原因需要特定于平台的东西(不能想象为什么计算器会这样),你可以让每个平台的代码有所不同。我认为这是一个非常重要的区别。在.NET世界中,Microsoft提供了几乎所有您将使用的工具,至少在IDE方面是这样。在Java世界中,至少有3个非常流行的IDE,其中只有一个是由Sun制作的。