黑马程序员_applet与application的区别

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------



学到applet(应用小程序)才发现 appletapplication是有区别的, 经过不断地查找总算拨开云雾。

一:两者区别

  因为Java语言是一种半编译半解释的语言。Java的用户程序分为两类:Java  ApplicationJava  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系统提供的。


下面给一图 更好直观的看到applet和appication的区别


黑马程序员_applet与application的区别_第1张图片

二:程序展示 

在同一个程序里实现AppletApplication的功能,  通过不同的运行模式得到不同的界面,程序在作为Applet运行时,可以向普通的Applet构造,不必在意main()函数的存在(因为它不被调用)

package appletandapplication;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
/*
 * 在这个程序里实现applet application的功能
 * 
 * 求出三个数中的最小数
*/
public class FindMin extends Applet implements ActionListener {
Label result;
TextField tf1,tf2,tf3;
Button button;
int a=0,b=0,c=0,min;
//初始化
public void init(){
result=new Label("请输入3个要比较的整数!");
tf1=new TextField(5);
tf2=new TextField(5);
tf3=new TextField(5);
button=new Button("比较");
button.addActionListener(this);

add(tf1);
add(tf2);
add(tf3);
add(button);
add(result);
}

public static void main(String[] args) {
FindMin fm=new FindMin();
Frame f=new Frame("Find Min");
f.addWindowListener(new WindowAdapter() {

public void windowclosing(WindowEvent e){
System.exit(0);
}
});
f.setLayout(new FlowLayout());//设为流式布局
f.setSize(500,100);
f.add(fm);
fm.init();
f.setVisible(true);

}

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
a=Integer.parseInt(tf1.getText());
b=Integer.parseInt(tf2.getText());
c=Integer.parseInt(tf3.getText());
if(a
min=(a
else 
min=(b
result.setText("3个整数中最小值为:"+min);

}

}

下面java applet运行结果:

黑马程序员_applet与application的区别_第2张图片

j

 java Application运行结果:

 



----------- android培训java培训、java学习型技术博客、期待与您交流! ------------



你可能感兴趣的:(java基础)