下面哪一項不是Java application和applet的不同點?
A、applet中不再需要main()方法
B、Java applet有Web browser執行
C、執行方式不同
D、applet由若干個類構成
答案是:D
以前在學習java的時候聽說過這個東西,只是知道這個東西不在運用了,不過這個東西到底是什麼不知道,今天看到這樣的一個問題,我開始研究了一下這個applet。下面是在網上搜集到的信息:
===================================================
1、applet一般用於B/S頁面上作為插件式的開發,而application主要是桌面應用程序的開發,application是不能用Jsp加載的
2、Application和Java Applet的區別。 Java語言是一種半編譯半解釋的語言。Java的用戶程序分為兩類:Java Application和Java Applet。這兩類程序在組成結構和執行機制上都有一定的差異 ,主要體現在以下幾方面:
(1)運行方式不同。
Java Application是完整的程序,可以獨立運行 ;Java Applet程序不能單獨運行,它必須嵌入到用HTML語言編寫的Web頁面中,通過與Java兼容的浏覽器來控制執行。
(2)運行工具不同。
Java Application程序被編譯以後,用普通的Java解釋器就可以使其邊解釋邊執行,而Java Applet必須通過網絡浏覽器或者Applet觀察器才能執行。
(3)程序結構不同。
每個Java Application程序必定含有一個並且只有一個main方法,程序執行時,首先尋找main方法,並以此為入口點開始運行。含有main方法的那個類,常被稱為主類,也就是 說,Java Application程序都含有一個主類。而Applet程序則沒有含main方法的主類,這也正是 Applet程序不能獨立運行的原因。盡管Applet沒有含main方法的主類,但Applet一定有一個從 java.applet.Applet派生的類,它是由Java系統提供的。
(4)受到的限制不同。
Java Application 程序可以設計成能進行各種操作的程序,包括讀/寫文件的操作,但是 Java Applet 對站點的磁盤文件既不能進行讀操作,也不能進行寫操作。然而,由於Applet的引入,使Web頁面具有動態多媒體效果和可交互性能,這使由名為超文本、實為純文本的HTML語言編寫成的Web頁面真正具有了超文本功能,不但可以顯示文本信息,而且還可以有各種圖片效果和動態圖形效果,從而使頁面顯 得生動美麗;另外,Applet使Web頁面增加了按鈕等功能,從而增加了交互性。
====================================
再看一條:
用記事本來寫一個被人熟知HelloWWW.java(這是一個Application程序)程序,代碼如下:
public class HelloWWW
{
public static void main(String args[])
{
System.out.println("Hello Wide Word Web!"); //輸出 Hello Wide Word Web!
}
}
HelloWWW程序中,首先用保留字class來聲明一個新的類,其類名為HelloWWW,它是一個公共類(public)。整個類定義由大括號{}括起來。在該類中定義了一個main()方法,其中public表示訪問權限,指明所有的類都可以使用這一方法;static指明該方法是一個類方法,它可以通過類名直接調用;void則指明main()方法不返回任何值。
對於一個應用程序來說,main()方法是必需的,而且必須按照如上的格式來定義。Jave解釋器在沒有生成任何實例的情況下,以main()作為入口來執行程序。Jave程序中可以定義多個類,每個類中可以定義多個方法,但是最多只能有一個公共類,main()方法也只能有一個,作為程序的入口。main()方法定義中,括號()中的Stringargs[]是傳遞給main()方法的參數,參數名為args,它是類String的一個實例,參數可以為0個或多個,每個參數用“類名參數名”來指定,多個參數間用逗號分隔。在main()方法的實現(大括號中),只有一條語句:System.out.println("Hello Wide Word Web!");它用來實現字符串的輸出,這條語句實現與C語言中的printf語句和C++中cout<<語句相同的功能。另外,//後的內容為注釋。
現在我們可以運行該程序。注意HelloWWW.java的文件中,文件名應和類名相同,因為Java解釋器要求公共類必須放在與其同名的文件中。可以用OldJavac進行編譯,然後用OldJava就可以查看結果,方法如下:
現在假設你的JDK安裝時的存放路徑是:C:JDK1.3.1,而HelloWWW.java存在C:JavaDemoHelloWWW.java,現在針對這個假設來編譯一下HelloWWW.java。現在用以下方法就可以實現編譯和查看結果。
這樣就編譯完了,你可以緊接著看,用在DOS命令符下輸入:C:>OldJava HelloWWW 回車,你看到了什麼,屏幕上是不是顯示Hello Wide Word Web!,趕快動手試試吧。
現在看另外一個小例子Hello.java(這是一個Applet程序):
import java.awt.*;
import java.applet.*;
public class Hello extends Applet
{
public void paint(Graphics g)
{
g.setColor(Color.red);
g.setFont(new Font("Helvetica", Font.PLAIN, 24));
g.drawString("Hello Wide Word Web", 10, 100);
}
}
這是一個簡單的Applet(小應用程序)。程序中,首先用import語句輸入java.awr和java.applet下所有的包,使得該程序可能使用這些包中所定義的類,它類似於C中的#include語句。然後聲明一個公共類Hello,用extends指明它是Applet的子類。在類中,我們重寫父類Applet的paint()方法,其中參數g為Graphics類,它表明當前作畫的上下文。在paint()方法中,調用g的方法drawString(),在坐標(10,100)處輸出字符串""Hello Wide Word Web",其中坐標是用象素點來表示的。
這個程序中沒有實現main()方法,這是Applet(Hello.java)與應用程序Application(HelloWWW.java)的區別之一。現在來運行該程序:
C:>Path=c:JDK1.3.1Bin
C:>cd c:JavaDemo
C:>Javac Hello.java
得到字節碼文件Hello.class。由於Applet中沒有main()方法作為Java解釋器的入口,我們必須編寫HTML文件,把該Applet嵌入其中,然後用appletviewer來運行,或在支持Java的浏覽器上運行。這個HTML文件例子裡面有(Hello.htm),就不再闡述。其中要說明的是用<applet>標記來啟動Hello,code指明字節碼所在的文件,width和height指明applet所占的大小。
現在用Appletviewer來看看結果:輸入C:>appletviewer Hello.htm
這時屏幕上彈出一個窗口,其中顯示Hello Wide Word Web!,顯示結果如圖Hello.jpg所示:
從上述例子中可以看出,Java程序是由類構成的,對於一個應用程序來說,必須有一個類中定義main()方法,而對applet來說,它必須作為Applet的一個子類。在類的定義中,應包含類變量的聲明和類中方法的實現。Java在基本數據類型、運算符、表達式、控制語句等方面與C、C++基本上是相同的,但它同時也增加了一些新的內容。