Java applet
Download
1 / 53

JAVA Applet 小应用程序示例 - PowerPoint PPT Presentation


  • 91 Views
  • Uploaded on

JAVA Applet 小应用程序示例. 小应用程序的例子。输出“ Hello World !” 。源程序代码如下: // 程序文件名称为 HelloApplet.java import java.awt.Graphics; import java.applet.Applet; public class HelloApplet extends Applet { public void paint (Graphics g ) { g.drawString ("Hello World!",50,25); } }.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' JAVA Applet 小应用程序示例' - ezekiel-hewitt


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Java applet

JAVA Applet小应用程序示例


  • 小应用程序的例子。输出“Hello World!” 。源程序代码如下:

    • //程序文件名称为HelloApplet.java

    • import java.awt.Graphics;

    • import java.applet.Applet;

    • public class HelloApplet extends Applet

    • {

    • public void paint (Graphics g )

    • {

    • g.drawString ("Hello World!",50,25);

    • }

    • }


小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的HTML网页代码就是小应用程序载入的容器。

<!--

程序文件名称为HelloApplet.html

-->

<HTML>

<HEAD>

<TITLE>

HTML Test Page

</TITLE>

</HEAD>


<BODY>小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

HelloApplet will appear below in a Java enabled browser.<BR>

<APPLET

CODEBASE = "."

CODE = "HelloApplet.class"

NAME = "TestApplet"

WIDTH = 400

HEIGHT = 300

HSPACE = 0

VSPACE = 0

ALIGN = middle

>

</APPLET>

</BODY>

</HTML>


命令:小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的Appletviewer HelloApplet.html

命令行演示

Eclipse演示


Java小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的程序的构成


Java小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的源程序分为两大部分:程序头包的引用和类的定义。

1. 程序头包的引用

主要是引用JDK软件包自带的包,也可以是自己定义的类。引用之后程序体中就可以自由应用包中的类的方法和属性。


2. 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的类的定义

Java源程序中可以有多个类的定义,但必须有一个主类,这个主类是Java程序运行的入口点

在应用程序中,主类为包含main方法的类

在Java源程序中,主类的名字同文件名一致

类的定义又包括类头声明和类体定义

类体中包括属性声明和方法描述


属 性 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

//程序文件名称为WelcomeApplet.java 注释语句

init方法

引入包

public class WelcomeApplet extends Applet implements ActionListener 主类类头

{


actionPerformed小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

方法

main主方法


课后试运行该程序!小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的


Java小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的源程序物理上由三部分构成,分别为语句、块和空白。

(1) 语句指一行以分号“;”结束的语句

(2) 块指用括号对{}界定的语句序列,块可以嵌套使用。

(3) 空白指语句之间、块内部或者块之间的空白行。

空白不影响Java源程序的编译和运行,适当地运用空白, 可以形成良好的代码风格。


  • 在前面的例子中 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    • Label lblName;

    • TextField txtName;

    • TextField txtDisp;

  • 都是语句,而

  • {

  • lblName = new Label("请输入您的名字:");

  • txtName = new TextField(8);

  • txtDisp = new TextField(20);

  • add(lblName);

  • add(txtName);

  • add(txtDisp);

  • txtName.addActionListener(this);

  • }

  • 是块,语句之间、块之间或块内部的空行都为空白。


  • 第四章 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的Java面向对象特性

    对象与类

    对象生命周期

    类的创建

    重载

    子类


    对象的基本概念小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    面向对象程序语言三个关键特点:

    封装 ( Encapsulation )

    继承 ( Inheritance )

    多态 ( Polymorphism )


    类和对象小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    类是特定类型对象的定义,包括:对象包含的

    数据,对象的创建及对象对自身数据操作的方法

    类是一个模板

    对象是在其类模型基础上构造出的,是具体的

    实例


    类和对象举例小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    类定义:

    Class EmpInfo{

    String name;

    String designation;

    String department;

    void print( ){ System.out.println(name+“is”+

    designation+“at”+department);}

    }

    对象的生成与使用:

    EmpInfo employee = new EmpInfo( );

    employee.name = “ Robert Javaman”;

    employee.designation = “Manager”;

    employee.department = “Coffee shop”;

    employee.print( ); ...


    类声明的基本格式:小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    访问说明符 class类名 extends超类名 implements接口名

    其中:

    (1)访问说明符为public或者缺省

    public用来声明该类为公有类,可以被别的对象访问

    声明为public的类存储的文件名为类名

    如果类声明中没有public,只有与该类定义在同一包中的

    类才可以访问该类


    类声明的基本格式:小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    访问说明符 class类名 extends超类名 implements接口名

    其中:

    (1) 访问说明符 …

    (2) 类名:用户自定义的标识符,用来标志这个类的引用

    (3) 超类名:是指已经存在的类,可以是用户已经定义的,也可以是系统类

    (4) 接口名:后面会讲到


    例如:小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的public class HelloApplet extends Applet{

    … …

    }

    访问说明符为public,类名HelloApplet,扩展类为JDK包自带的java.applet.Applet类。由于public的存在,所以文件名必须存为HelloApplet.java,同类名保持一致。


    类体小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的:(包括成员变量和方法)

    (1) 成员变量:指类的一些属性定义,标志类的静态特征,

    格式如下:

    访问说明符 数据类型变量名

    其中:

    ●访问说明符有public、private和protected三种:

    public(省略时默认为public):可以由外部对象进行访问

    private:私有类型,只允许在同一类的成员方法中使用,其他类的方法禁止访问,从而实现了类的数据隐藏。

    Protected:受保护类型,自身、子类及同一个包中类可以访问

    ● 数据类型包括基本类型以及用户自定义的扩展类型。


    (2) 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的方法:是类的操作定义,标志类的动态特征,它的基本格式如下:

    访问说明符 数据类型 方法名(数据类型1 变量名1, 数据类型2 变量名2)

    其中:

    ●访问说明符为public、private和protected,其使用方法与成员变量访问说明符的使用方法一致。

    ●数据类型:包括基本数据类型和用户自定义的扩展类型。

    ●数据类型为参数。


    类的构造方法小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的(构造函数)

    • 构造方法定义:

    • public 类名(参数){ … }

    • 注意:

      • 方法名必须与类名相同

      • 不能带返回类型


    缺省构造函数小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    如果在类定义中无构造函数,Java在编译时

    可缺省加入构造方法。如 public Employee( ){ };

    一旦在类中有一个自己声明的构造函数,则缺省

    的构造函数将不被加到源程序中。

    Employee示例


    对象生命周期小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

     创建对象

     使用对象

     清除不用的对象


    创建对象小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    创建对象的三个步骤:

     声明 (Declaration )

    实例化(Instantiation)

    初始化(Initialization)

    Class EmpInfo{

    String name;

    String designation;

    String department;

    void print( ){ System.out.println(name+“is”+

    designation+“at”+department);}

    }

    例:

    EmpInfo Employee_one;

    Employee_one = new EmpInfo( );

    EmpInfo Employee_one.name =“Bob”;

    EmpInfo Employee_one.designation=“Manager”;

    EmpInfo Employee_one.department =“CoffeShop”;

    Employee示例


    对象的回收小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    垃圾收集机制(garbage collection):Java运行环境当确定

    某个对象不再被使用时,将其删除

    一个对象在没有引用指向它时,可作为垃圾收集

    垃圾搜集器:Java运行环境中的垃圾搜集器周期性地释放

    不用对象占用的空间。


    a b c小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    b c

    (指针悬空)

    a b c

    b c

    垃圾收集机制

    C++:A *a=new A( );

    A *b=a;

    A *c=a;

    //a 使用完,将其删除

    delete a;

    Java :A a=new A( );

    A b=a;

    A c=a;

    //a 使用完,将其删除

    a= null ;


    数据封装与隐藏小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    • 封装:将基本数据和对数据进行的操作方法相结合

    • 优点:

      • 隐藏类中具体实现的细节

      • 强迫程序员使用统一的接口访问数据

      • 提高了代码可维护性

    • 数据隐藏:使用private定义的成员变量,只能

    • 在成员方法中使用,其它方法中禁止使用

    • 优点: 保证对象中数据的一致性


    数据隐藏与封装举例小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    Class Date{

    private int day, month, year;

    void setDate( int a, int b, int c){

    day = a;

    month = b;

    year = c ;

    }

    }

    Date d1;

    d1.new Date( );

    d1.setDate(30,9,2001);

    ...

    Date程序示例

    d1.day = 30;(错误!)


    小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的this “引用

    关键字this 用来指向当前对象本身。

    例:class Date {

    private int day, month,year;

    public Date getTommorrow( ){

    this.day++;

    }

    请课后自己运行理解


    重载(小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的Overloading)

    • 含义:在同一个类中一个方法名被用来定义多个

    • 方法。

    • classScreen {

    • public void print( int i){ … }

    • public void print( float i){ … }

    • public void print( String str ){ … }

    • }

    • 重载必须遵守原则:

      • 参数表必须不同,以此区分不同方法体。

      • 返回类型、修饰符可相同或不相同。


    激活重载的构造方法小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    在一个构造方法中可以利用另一个构造方法。

    class Employee{

    private String name;

    private int salary;

    public Employee(String n, int s){

    name = n ;

    salary = s;

    }

    public Employee( String n){ this(n,0); }

    public Employee( ){ this(“Unknown”); }

    }


    子类小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    子类表示类之间一种“属于”( is a )关系。

    例:public class Employee {

    String name ;

    Date hireDate ;

    Date dateofBirth ;

    String jobTitle ;

    int grade ;

    }

    public class Manager {

    String name ;

    Date hireDate ;

    Date dateofBirth ;

    String jobTitle ;

    int grade ;

    String department ;

    Employee [ ] subordinates;

    }


    Extends 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的关键字

     Java中用 extends 关键字定义子类。

    public class Employee {

    String name ;

    Date hireDate ;

    Date dateofBirth ;

    String jobTitle ;

    int grade ;

    }

    public class Manager extends Employee{

    String department ;

    Employee [ ] subordinates;

    }

    子类是从已有的类创建新类的一种方法。


    子类小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    子类继承父类的属性、功能(方法),子类中只

    需声明特有的东西(父类中所没有的)。

    带private 修饰符的属性、方法是不能被继承的。

    构造函数不能被继承。

    在方法中调用构造方法用this()。

    调用父类的构造方法用super()。

    -- super 指向该关键字所在类的父类。


    构造不同类型数据的集合小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    Java中允许构造如下类型的数组:

    Employee [ ] staff = new Employee[1024];

    staff[0] = new Manager( );

    staff[1] = new Worker();

    staff[2] = new Employee();

    ---- staff 是由多种类型的对象组成的。

    Java中任何一个子类的实例都可作为父类的实例

    使用,可以调用父类具有的方法。


    单继承小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    • Java是单继承的,即只能从一个类继承,

    • extends后类名只能有一个。

    • 单继承的优点:

      • 代码更可靠

      • 可以用接口弥补

      • 用一个类实现多个接口,达到多继承效果。

      • (在介绍接口的时候讲)


    重写(小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的Overriding methods)

    子类可以改变从父类继承的行为。

    被重写方法的返回值、方法名、参数列表要

    与父类中的方法完全一样。


    方法重写的规则小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    必须返回与原来方法完全相同的返回值。

    方法的访问权限不能缩小。

    不能抛出新的例外。


    多 态小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    •  Java允许父类对象的变量作为子类对象的变量 使用。

    • 如:Employee e = new Manager( );

    • 但通过该变量(如e)只能访问父类的方法,子类特有的部分被隐藏。

    • 运行时确定使用父类还是子类的方法。


    Super小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的关键字

    Super指向该关键字所在类的父类。

    Public class Empolyee {

    private String name ;

    private int salary;

    public String getDetails( ){

    return “Name: ”+name+“\nSalary:”+salary;

    }

    }

    public class Manager extends Empolyee {

    private String department ;

    public String getDetails( ){

    return super.getDetailes( )+‘\nDepartment: “+

    department;

    }

    }

    课后运行例子


    “instanceof”小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的及类型强制转换

    Instanceof 测试对象类型

    Empolyee a = new Manager();

    则a instanceof Manager 为true;

    类型转换

    父类弱、子类强,指向父类的引用不能直接按子类引用,

    必须要强制类型转换后才能作为子类的引用使用。

    例:public void method( Employee e){

    if (e instanceof Manager){

    Manager m = (Manager) e ;

    m.department = “…”;

    }

    }


    子类对象的初始化小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    • 初始化对象是很结构化的。

    • 在对对象初始化时,分三步:

      • 分配空间,并初始化为“0”值。

      • 按继承关系从顶向下显式初始化。

      • 按继承关系从顶向下调用构造函数。


    调用父类构造方法小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的

    缺省是不带参数的构造方法。

    如果需要调用特殊的父类构造方法,则需在

    子类构造方法中第一行通过super( … )调用。

    class Employee{ ...

    public Employee( String n){

    name=n;

    }

    }

    class Manager entends Emplyee{

    public Manager( String s,String d){

    super(s);

    ... }

    }


    作 业 (小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的1)


    Object
    Object 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的及其子类

    Object定义了所有对象都需要的状态和行为。如对象之间的比较、将对象转换为字符串、等待某个条件变量、当某条件变量改变时通知相关对象以及返回对象的类。


    Object1
    Object 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的及其子类

    在Object子类中可以重写的方法:

    • clone

    • equals

    • finalize

    • toString:返回对象的字符串表示,表达的内容因具体的对象而异

      在Object子类中不能重写的方法:

    • getClass

    • notify

    • notifyAll

    • wait


    Object clone
    Object小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的的clone方法

     aCloneableObject.clone(); //从已有的对象创建新的对象

    注意:

    • aCloneableObject必须实现了Cloneable接口

    • Object.clone()是shallow copy 而不是 deep copy


    Object clone1
    Object小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的的clone方法

    public class Stack implements Cloneable {

    private Vector items;

    // code for Stack's methods and constructor not shown

    protected Object clone() {

    try {

    Stack s = (Stack)super.clone(); // clone the stack

    s.items = (Vector)items.clone(); // clone the vector

    return s; // return the clone

    } catch (CloneNotSupportedException e) { }

    }

    }


    Object tostring
    Object 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的的toString方法

    返回对象的字符串表示,表达的内容因具体的对象而异 。

    例:

    System.out.println(Thread.currentThread().toString());

    对于Integer的对象是所包含的整型数的字符表示。

    Thread[main,5,main]


    Object2
    分析小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的object类

    • 该类的组成

    • 有哪些属性?

    • 有哪些方法,都是用来干什么的?

    • 每个方法有什么特点?


    作业小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的2

    • 将第二次作业写得类用JAVA实现,并生成对象。


    ad