Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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启动一个类,但不同_Java_Eclipse - Fatal编程技术网

用Java启动一个类,但不同

用Java启动一个类,但不同,java,eclipse,Java,Eclipse,在我的计算机科学课上,我们在Java Eclipse中开始上课,如下所示: public class FirstApp extends Applet implements ActionListener, MouseListener, MouseMotionListener { 不是我在其他地方看到的那样: class FirstApp { public static void main(String[] args) { ... } } 有什么区别?如果我将一段代码更改为第

在我的计算机科学课上,我们在Java Eclipse中开始上课,如下所示:

public class FirstApp extends Applet implements ActionListener, MouseListener, MouseMotionListener 

{
不是我在其他地方看到的那样:

class FirstApp {
    public static void main(String[] args) {
    ...
}
}

有什么区别?如果我将一段代码更改为第二段代码,会发生什么情况?

区别在于第一个示例使用的代码,现在已经被广泛弃用。浏览器将在它创建的JVM中为您运行它

Java小程序是启用浏览器的一种特殊Java程序 借助Java技术可以从互联网上下载并运行。小程序 通常嵌入到网页中,并在 浏览器小程序必须是java.applet.applet类的子类。 小程序类提供小程序之间的标准接口 以及浏览器环境

第二个示例是一个Java应用程序,它被设计为由JVM直接调用。命令行参数将作为字符串数组传递到
main()
。i、 e

java -cp . org.example.FirstApp
正如Adam在中指出的,两个示例之间的区别在于第一个程序是Java小程序,第二个是普通Java应用程序

小程序 小程序在浏览器中运行,浏览器将为您启动Java解释器并创建小程序。创建小程序后,Java解释器调用方法
init()
,初始化后,小程序将通过方法
start()
启动。在第一个示例中,没有运行任何代码

要添加一些要执行的代码,必须实现
start()
方法,该方法将使小程序如下所示:

public class FirstApp extends Applet implements ActionListener,
    MouseListener, MouseMotionListener 
{
   public void start() {
      // Code to execute when started
   }
}
java FirstApp
实现的接口是事件侦听器,使小程序能够对某些用户事件作出反应。普通应用程序不一定实现这些,因为命令行应用程序不需要图形化事件侦听器

您可以从浏览器或Eclipse启动小程序,就像您在计算机Sciene类中所做的那样。通过Eclipse启动小程序时,Eclipse负责在自己的窗口中启动和显示小程序,这样您就不必编写嵌入小程序的网页

应用程序 应用程序在Java解释器中运行,该解释器由用户直接启动。启动时,Java解释器运行
main(String[])
方法,因此与上面的示例等效:

public class FirstApp {
    public static void main(String[] args) {
        // Code to execute when started
    }
}
编译后(通过
javac FirstApp.java
),可以通过命令行启动普通应用程序,如下所示:

public class FirstApp extends Applet implements ActionListener,
    MouseListener, MouseMotionListener 
{
   public void start() {
      // Code to execute when started
   }
}
java FirstApp

当然,应用程序也可以通过Eclipse通过“启动”按钮启动(即编译和解释)。

您应该搜索
扩展的
实现的
的意思。区别基本上是第一个片段是小程序,第二个片段是普通应用程序。您可能在第一个方法中声明了一个
public void start()
方法,您在该方法中编写了要运行的代码。只需查找它,而不是在这里询问。有很多资源,而且它们非常容易找到。当使用
扩展Applet
时,您可以在已经创建的图形环境中启动应用程序,或者说是在应用程序子组件中启动应用程序。当执行静态void main(String[]args)
时,您的应用程序在其自己的vm中启动。如果我不知道要搜索什么,我将如何“查找”这些该死的关键字?