下面哪一項不是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在基礎資料型別 (Elementary Data Type)、運算子、運算式、控制語句等方面與C、C++基本上是相同的,但它同時也增加了一些新的內容。