<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
 <TITLE>Java(TM) Language Basics, Part 1, Lesson 2: Building Applications</TITLE>
 <META NAME="AUTHOR" CONTENT="Monica Pawlan">
 <META NAME="KEYWORDS" CONTENT="programming, basics, Java 2">
 <META NAME="OWNER" CONTENT="Editorial/JDC">
 <META NAME="revision" CONTENT="@(#)prog.src   1.32 03/09/00  JDC">

 <STYLE TYPE="text/css">
   <!--
   CODE {font-family: Courier, Monospace;
         font-size: 12pt}
   PRE {font-family: Courier, Monospace;
        font-size: 11pt}
     -->
 </STYLE>
</HEAD>

<!-- Start Body Insert-->
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" ALINK="#FF0000" VLINK="#660066">
<!-- End Body Insert-->

<!-- Start PageTop Insert -->

<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
 <TR ALIGN="CENTER" VALIGN="TOP">
   <TD WIDTH="157" ALIGN="LEFT">
   <IMG SRC="/images/pixel.gif" HEIGHT="40" WIDTH="40" ALT="">
   <A HREF="http://java.sun.com/index.html"><IMG SRC="/images/javalogo52x88.gif" WIDTH="52" HEIGHT="88" ALT="Java Technology Home Page" BORDER="0"></A>
   <BR>
   <IMG SRC="/images/pixel.gif" WIDTH="157" HEIGHT="1" ALT=""></TD>

   <TD>

   <FORM NAME="seek1" METHOD="GET" ACTION="http://search.java.sun.com/query.html">
   <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
     <TR>
       <TD ALIGN="RIGHT">
       <IMG SRC="/images/stripelt.gif" WIDTH="6" HEIGHT="14" ALT=""></TD>

       <TD WIDTH="100%">

       <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
         <TR>
           <TD BGCOLOR="#CC9966" WIDTH="100%">
           <IMG SRC="/images/pixel.gif" HEIGHT="2" WIDTH="1" ALT=""></TD>
         </TR>

         <TR>
           <TD>
           <IMG SRC="/images/pixel.gif" HEIGHT="2" WIDTH="1" ALT=""></TD>
         </TR>

         <TR>
           <TD BGCOLOR="#CC9966">
           <IMG SRC="/images/pixel.gif" HEIGHT="2" WIDTH="1" ALT=""></TD>
         </TR>

         <TR>
           <TD>
           <IMG SRC="/images/pixel.gif" HEIGHT="2" WIDTH="1" ALT=""></TD>
         </TR>

         <TR>
           <TD BGCOLOR="#CC9966">
           <IMG SRC="/images/pixel.gif" HEIGHT="2" WIDTH="1" ALT=""></TD>
         </TR>

         <TR>
           <TD>
           <IMG SRC="/images/pixel.gif" HEIGHT="2" WIDTH="1" ALT=""></TD>
         </TR>

         <TR>
           <TD BGCOLOR="#CC9966">
           <IMG SRC="/images/pixel.gif" HEIGHT="2" WIDTH="1" ALT=""></TD>
         </TR>
       </TABLE>
       </TD>

       <TD ALIGN="LEFT">
       <IMG SRC="/images/stripert.gif" WIDTH="6" HEIGHT="14" ALT=""></TD>

       <TD>

       <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
         <TR>
           <TD VALIGN="CENTER">
           <A HREF="http://java.sun.com/a-z/index.html"><IMG SRC="/images/azindex.gif" BORDER="0" WIDTH="72" HEIGHT="11" ALT="A-Z Index"></A></TD>

           <TD VALIGN="CENTER">
           <FONT FACE="Helvetica" SIZE="1">
           <INPUT TYPE="text" SIZE="15" MAXLENGTH="128" NAME=qt></FONT></TD>

           <TD VALIGN="CENTER">
           <INPUT TYPE="image" SRC="/images/search.button.gif" WIDTH="55" HEIGHT="14" ALT="Search" value="search" BORDER="0"></TD>
         </TR>
       </TABLE>
       </TD>
     </TR>
   </TABLE>
   </FORM>
   <P>

   <TABLE BORDER="0" WIDTH="100%" CELLPADDING="0" CELLSPACING="0">
     <TR VALIGN="TOP">
       <TD WIDTH="100%"><IMG SRC="/images/chiclet.row.gif" WIDTH="55"
         HEIGHT="18" ALT=""></TD>

       <TD ROWSPAN="4" ALIGN="RIGHT" WIDTH="152">
       <A HREF="/developer/index.html"><IMG SRC="/images/developer.connection.header.gif" BORDER="0" HEIGHT="42" WIDTH="319" ALT="Java Developer Connection(SM)"></A></TD>
     </TR>

     <TR VALIGN="TOP">
       <TD BGCOLOR="#FFFFFF" HEIGHT="1" WIDTH="100%">
       <IMG SRC="/images/pixel.gif" HEIGHT="1" WIDTH="1" ALT=""></TD>
     </TR>

     <TR VALIGN="TOP">
       <TD BGCOLOR="#CC9966" HEIGHT="1" WIDTH="100%">
       <IMG SRC="/images/pixel.gif" HEIGHT="1" WIDTH="1" ALT=""></TD>
     </TR>

     <TR VALIGN="TOP">
       <TD><A HREF="/developer/onlineTraining/"><IMG SRC="/images/online-training.gif" WIDTH="165" HEIGHT="22" ALT="Online Training" BORDER=0></A></TD>
     </TR>
   </TABLE>

   </TD>
 </TR>
</TABLE>


<!-- End PageTop Insert -->

<!-- Start NavBar Insert -->
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="3" BGCOLOR="#FFFFFF" WIDTH="157" ALIGN="LEFT">

<!-- tab categories -->

<TR>
<TD><A HREF="http://java.sun.com/products/"><IMG SRC="/images/side.tab.products.gif" HEIGHT="15" WIDTH="130" BORDER="0" ALT="Downloads, APIs, Documentation"></A></TD>
</TR>

<TR>
<TD><A HREF="/developer/index.html"><IMG SRC="/images/side.tab.developer.gif" HEIGHT="15" WIDTH="130" BORDER="0" ALT="Java Developer Connection"></A></TD>
</TR>

<TR>
<TD><A HREF="/developer/infodocs/index.shtml"><IMG SRC="/images/side.tab.docs.gif" HEIGHT="15" WIDTH="130" BORDER="0" ALT="Tutorials, Tech Articles, Training"></A></TD>
</TR>

<TR>
<TD><A HREF="/developer/support/index.html"><IMG SRC="/images/side.tab.support.gif" HEIGHT="15" WIDTH="130" BORDER="0" ALT="Online Support"></A></TD>
</TR>

<TR>
<TD><A HREF="/developer/community/index.html"><IMG SRC="/images/side.tab.community.gif" HEIGHT="15" WIDTH="130" BORDER="0" ALT="Community Discussion"></A></TD>
</TR>

<TR>
<TD><A HREF="http://java.sun.com/industry/"><IMG SRC="/images/side.tab.news.gif" HEIGHT="15" WIDTH="130" BORDER="0" ALT="News &amp; Events from Everywhere"></A></TD>
</TR>

<TR>
<TD><A HREF="http://java.sun.com/solutions"><IMG SRC="/images/side.tab.solutions.gif" HEIGHT="15" WIDTH="130" BORDER="0" ALT="Products from Everywhere"></A></TD>
</TR>

<TR>
<TD><A HREF="http://java.sun.com/casestudies"><IMG SRC="/images/side.tab.case.gif" HEIGHT="15" WIDTH="130" BORDER="0" ALT="How Java Technology is Used Worldwide"></A></TD>
</TR>
<TR>
<TD>    <DIV ALIGN="RIGHT">
   <A HREF="/servlet/PrintPageServlet"><IMG SRC="/images/printbutton.gif" WIDTH="155" HEIGHT="25" ALT="Print Button" BORDER="0"></A>
   </DIV>
</TD>
</TR>

<TR><TD>&nbsp;</TD></TR>


<!-- End NavBar Insert -->


<!-- START SUB-NAV -->

<TR>
 <TD><!-- INSERT SUB-NAV INFO -->
 </TD>
</TR>


<!-- END SUB-NAV -->

</TABLE>

<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">

<!-- Template Version 2.0 -->

<!-- ================== -->
<!-- Start Main Content -->
<!-- ================== -->


<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD VALIGN="TOP">
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">

 <A NAME="top"></A>
 <DIV ALIGN="RIGHT">
 <FONT SIZE="-1"><A HREF="/developer/onlineTraining/index.html">Training Index</A></FONT>
 <H2>Java<FONT SIZE="-2"><SUP>TM</SUP></FONT> Programming Language Basics, Part 1<BR>
 <FONT SIZE="3">Lesson 2: Building Applications</FONT></H2>

 <FONT SIZE="-1">[<A HREF="compile.html">&lt;&lt;BACK</A>] [<A HREF="index.html#contents">CONTENTS</A>] [<A HREF="applet.html">NEXT&gt;&gt;</A>]</FONT></DIV>

<P>
All programs written in the Java<FONT SIZE="-2"><SUP>TM</SUP></FONT> language (Java programs)
are built from classes. Because all classes have the same
structure and share common elements, all Java programs are very similar.

<P>
This lesson describes the structure and elements of a simple
application created from one class. The next lesson covers the same
material for applets.

<UL>
  <LI><FONT FACE="Verdana, Arial, Helvetica, sans-serif">
  <A HREF="#class">Application Structure and Elements</A></FONT>
  <LI><FONT FACE="Verdana, Arial, Helvetica, sans-serif">
  <A HREF="#fields">Fields and Methods</A></FONT>
  <LI><FONT FACE="Verdana, Arial, Helvetica, sans-serif">
  <A HREF="#const">Constructors</A></FONT>
  <LI><FONT FACE="Verdana, Arial, Helvetica, sans-serif">
  <A HREF="#more">More Information</A></FONT>
</UL>

<HR>

<A NAME="class"></A>
<H3>Application Structure and Elements</H3>

<IMG SRC="./Art/class.gif" WIDTH="183" HEIGHT="147" ALT="" ALIGN=LEFT HSPACE=10>

An application is created from classes.
A <CODE>class</CODE> is similar to a <CODE>RECORD</CODE>
in the Pascal language or a <CODE>struct</CODE> in the
C language in that it stores related data in <I>fields</I>,
where the fields can be different types. So you could, for
example, store a text string in one field, an integer in another field,
and a floating point in a third field.
The difference between a class and a <CODE>RECORD</CODE> or
<CODE>struct</CODE> is that a class also defines the
<I>methods</I> to work on the data.

<P>
For example, a very simple class might store a string of text
and define one method to set the string and another method
to get the string and print it to the console.
Methods that work on the data are called <I>accessor</I> methods.

<P>
<IMG SRC="./Art/main.gif" WIDTH="183" HEIGHT="219" ALT="" ALIGN=LEFT HSPACE=10>
Every application needs one class with a <CODE>main</CODE>
method. This class is the entry point for the program, and is
the class name passed to the
<CODE>java</CODE> interpreter command to run the application.

<P>
The code in the <CODE>main</CODE> method executes first when the
program starts, and is the control point from which the controller
class accessor methods are called to work on the data.

<P>
Here, again, is the
<A HREF="./Code/ExampleProgram.java">example program</A>
from Lesson 1. It has no fields
or accessor methods, but because it is the only class in the
program, it has a <CODE>main</CODE> method.
<BR CLEAR=ALL>
</FONT>

<PRE>
  class ExampleProgram {
     public static void main(String[] args){
       System.out.println(&quot;I'm a Simple Program&quot;);
     }
  }
</PRE>

<FONT FACE="Verdana, Arial, Helvetica, sans-serif">

<P>
<A NAME="instance"></A>
The <CODE>public static void</CODE> keywords mean the Java<A HREF="#TJVM"><SUP>1</SUP></A> virtual
machine (JVM) interpreter
can call the program's <CODE>main</CODE> method to start the program (public)
without creating an instance of the class (static), and the program
does not return data to the Java VM interpreter (void) when it
ends.

<P>
<IMG SRC="./Art/instance.gif" WIDTH="210" HEIGHT="165" ALT="" ALIGN=LEFT HSPACE=10>
An instance of a class is an executable
copy of the class While the class describes the
data and behavior, you need a class instance to
acquire and work on data.
The diagram at the left shows three instances of
the <CODE>ExampleProgram</CODE> class by the names:
<CODE>FirstInstance</CODE>, <CODE>SecondInstance</CODE>
and <CODE>ThirdInstance</CODE>.

<P>
The <CODE>main</CODE> method is static to give the Java VM
interpreter a way to start the class without creating an
instance of the control class first.  Instances of
the control class are created in the <CODE>main</CODE>
method after the program starts.

<P>
The <CODE>main</CODE> method for the simple example does not create an
instance of the
<CODE>ExampleProgram</CODE> class because none is needed.
The <CODE>ExampleProgram</CODE> class has no
other methods or fields, so no class instance is needed to access them
from the <CODE>main</CODE> method. The Java platform lets you execute a
class without creating an
instance of that class as long as its static methods do not call any non-static
methods or fields.

<P>
The <CODE>ExampleProgram</CODE> class just calls <CODE>println</CODE>,
which is a static method in the
<CODE>System</CODE> class. The <CODE>java.lang.System</CODE> class, among
other things, provides
functionality to send text to the terminal window where the program was started.
It has all static fields and methods.

<P>
The static fields and methods of a class can be called by another program without
creating an instance of the class. So, just as the Java VM interpreter command
could call the <CODE>static main</CODE> method in the <CODE>ExampleProgram</CODE>
class without creating an instance of the <CODE>ExampleProgram</CODE> class,
the <CODE>ExampleProgram</CODE> class can call the
<CODE>static println</CODE> method in the <CODE>System</CODE> class, without
creating an instance of the <CODE>System</CODE> class.

<P>
However, a program must create an instance of a class to access its non-static
fields and methods. Accessing static and non-static fields and methods is
discussed further with several  examples in the next section.

<A NAME="fields"></A>
<H3>Fields and Methods</H3>

The <A HREF="./Code/LessonTwoA.java">LessonTwoA.java</A> program
alters the simple example to store the text string in
a static field called <CODE>text</CODE>. The <CODE>text</CODE> field
is static so its data can be accessed directly without creating an
<EM>instance</EM> of the <CODE>LessonTwoA</CODE> class.

</FONT>

<PRE>
class LessonTwoA {
  static String text = &quot;I'm a Simple Program&quot;;
  public static void main(String[] args){
       System.out.println(text);
  }
}
</PRE>

<FONT FACE="Verdana, Arial, Helvetica, sans-serif">

The <A HREF="./Code/LessonTwoB.java">LessonTwoB.java</A> and
<A HREF="./Code/LessonTwoC.java">LessonTwoC.java</A> programs
add a <CODE>getText</CODE> method to the program to
retrieve and print the text.

<P>
The <A HREF="./Code/LessonTwoB.java">LessonTwoB.java</A> program
accesses the non-static <CODE>text</CODE> field with the non-static
<CODE>getText</CODE> method. Non-static methods and fields are called
instance methods and fields. This approach requires that an instance
of the <CODE>LessonTwoB</CODE> class be created in the
<CODE>main</CODE> method. To keep things interesting, this example
includes a static text field and a non-static instance method
(<CODE>getStaticText</CODE>) to retrieve it.

<BLOCKQUOTE>
<HR>
<STRONG>Note:</STRONG> The field and method return values
are all type <CODE>String</CODE>.
<HR>
</BLOCKQUOTE>


</FONT>

<PRE>
class LessonTwoB {

  String text = &quot;I'm a Simple Program&quot;;
  static String text2 = &quot;I'm static text&quot;;

  String getText(){
       return text;
  }

  String getStaticText(){
       return text2;
  }

  public static void main(String[] args){
       LessonTwoB progInstance = new LessonTwoB();
       String retrievedText = progInstance.getText();
       String retrievedStaticText =
                progInstance.getStaticText();
       System.out.println(retrievedText);
       System.out.println(retrievedStaticText);
  }
}
</PRE>

<FONT FACE="Verdana, Arial, Helvetica, sans-serif">

The <A HREF="./Code/LessonTwoC.java">LessonTwoC.java</A> program
accesses the static <CODE>text</CODE> field with the
static <CODE>getText</CODE> method.  Static methods and fields are called
class methods and fields. This approach allows the program to
call the static <CODE>getText</CODE> method directly without creating
an instance of the <CODE>LessonTwoC</CODE> class.

</FONT>

<PRE>
class LessonTwoC {

  static String text = &quot;I'm a Simple Program&quot;;

//Accessor method
  static String getText(){
       return text;
  }

  public static void main(String[] args){
       String retrievedText = getText();
       System.out.println(retrievedText);
  }
}
</PRE>

<FONT FACE="Verdana, Arial, Helvetica, sans-serif">

So, class methods can operate only on class fields, and instance
methods can operate on class and instance fields.

<P>
You might wonder what the difference means. In short, there is only
one copy of the data stored or set in a class field but each instance has
its own copy of the data stored or set in an instance field.

<P>
<IMG SRC="./Art/diff.gif" WIDTH="436" HEIGHT="158" ALT="">
<P>

The figure above shows three class instances with one static field and one instance
field. At runtime, there is one copy of the value for static Field A and
each instance points to the one copy. When setFieldA(50) is called on the
first instance, the value of the one copy changes from 36 to 50 and all
three instances point to the new value. But, when setFieldB(25) is called
on the first instance, the value for Field B changes from 0 to 25
for the first instance only because each instance has its own copy of
Field B.

<P>
See
<A HREF="http://java.sun.com/docs/books/tutorial/java/javaOO/classvars.html">
Understanding Instance and Class Members</A> lesson in
<A HREF="http://java.sun.com/docs/books/tutorial/index.html">The Java tutorial</A> for a
thorough discussion of this topic.

<A NAME="const"></A>
<H3>Constructors</H3>

Classes have a special method called a <EM>constructor</EM> that is called
when a class instance is created. The class constructor always has the
same name as the class and no return type.
The <A HREF="./Code/LessonTwoD.java">LessonTwoD</A> program converts the
<CODE>LessonTwoB</CODE> program to use a constructor to initialize the
text string.

<BLOCKQUOTE>
<HR>
<STRONG>Note:</STRONG> If you do not write your own constructor,
the compiler adds an empty constructor, which calls the no-arguments constructor of its parent class. The empty constructor
is called the default constructor. The default constructor
initializes all non-initialized fields and variables to zero.

<HR>
</BLOCKQUOTE>

</FONT>

<PRE>
class LessonTwoD {

  String text;

//Constructor
  LessonTwoD(){
    text = &quot;I'm a Simple Program&quot;;
  }

//Accessor method
  String getText(){
       return text;
  }

  public static void main(String[] args){
       LessonTwoD progInst = new LessonTwoD();
       String retrievedText = progInst.getText();
       System.out.println(retrievedText);
  }
}
</PRE>

<FONT FACE="Verdana, Arial, Helvetica, sans-serif">

<A NAME="summ"></A>
<H3>To Summarize</H3>

A simple program that prints a short text string to the console
would probably do everything in the <CODE>main</CODE> method
and do away with the constructor, <CODE>text</CODE> field, and
<CODE>getText</CODE> method. But, this lesson used a very simple
program to show you the structure and elements in a basic
Java program.

<A NAME="more"></A>
<H3>More Information</H3>

See
<A HREF="http://java.sun.com/docs/books/tutorial/java/javaOO/classvars.html">Understanding
Instance and Class Members</A> lesson in
<A HREF="http://java.sun.com/docs/books/tutorial/index.html">The Java
tutorial</A> for a thorough discussion of this topic.

<P>
_______<BR>
<A NAME="TJVM"><SUP>1</SUP></A> As used on this web site,
the terms &quot;Java virtual
machine&quot; or &quot;JVM&quot; mean a virtual machine
for the Java platform.

<P ALIGN="RIGHT">
<FONT SIZE="-1">[<A HREF="#top">TOP</A>]</FONT>

</FONT>
</TD>
</TR>
</TABLE>




<!-- ================ -->
<!-- End Main Content -->
<!-- ================ -->

</FONT>
</TD>
</TR>
</TABLE>

<!-- Copyright Insert -->

<BR CLEAR="ALL">

<FORM ACTION="/cgi-bin/search.cgi" METHOD="POST">
<TABLE WIDTH="100%" CELLPADDING="0" BORDER="0" CELLSPACING="5">
 <TR>
   <TD VALIGN="BOTTOM">


</TD>
</TR>
<A HREF="/servlet/PrintPageServlet"><IMG SRC="/images/printbutton.gif" WIDTH="155" HEIGHT="25" ALT="Print Button" BORDER="0"></A>

   <CENTER>
   <FONT SIZE="-1" COLOR="#999999" FACE="Verdana, Arial, Helvetica, sans-serif">
   [ This page was updated: <!-- new date --> 31-Mar-2000 ]
</font></CENTER>
   </TD>
 </TR>

 <TR>
   <TD BGCOLOR="#CCCCCC">
   <IMG SRC="/images/pixel.gif" HEIGHT="1" WIDTH="1" ALT=""></TD>
 </TR>

 <TR>
   <TD>
   <CENTER>
   <FONT SIZE="-2" FACE="Verdana, Arial, Helvetica, sans-serif">
   <A HREF="http://java.sun.com/products/">Products &amp; APIs</A> |
   <A HREF="/developer/index.html">Developer Connection</A> |
   <A HREF="/developer/infodocs/index.shtml">Docs &amp; Training</A> |
   <A HREF="/developer/support/index.html">Online Support</A><BR>
   <A HREF="/developer/community/index.html">Community Discussion</A> |
   <A HREF="http://java.sun.com/industry/">Industry News</A> |
   <A HREF="http://java.sun.com/solutions">Solutions Marketplace</A> |
   <A HREF="http://java.sun.com/casestudies">Case Studies</A>
   </FONT>
   </CENTER>
   </TD>
 </TR>

 <TR>
   <TD BGCOLOR="#CCCCCC">
   <IMG SRC="/images/pixel.gif" HEIGHT="1" WIDTH="1" ALT=""></TD>
 </TR>

 <TR>
   <TD ALIGN="CENTER">
   <FONT SIZE="-2" FACE="Verdana, Arial, Helvetica, sans-serif">
   <A HREF="http://java.sun.com/docs/glossary.html">Glossary</A> -
   <A HREF="http://java.sun.com/applets/">Applets</A> -
   <A HREF="http://java.sun.com/docs/books/tutorial/">Tutorial</A> -
   <A HREF="http://java.sun.com/jobs/">Employment</A> -
   <A HREF="http://java.sun.com/nav/business/">Business &amp; Licensing</A> -
   <A HREF="http://java.sun.com/javastore/">Java Store</A> -
   <A HREF="http://java.sun.com/casestudies/">Java in the Real World</A>
   </FONT>
   </TD>
 </TR>

 <TR>
   <TD>
   <CENTER>
   <FONT SIZE="-2" FACE="Verdana, Arial, Helvetica, sans-serif">
   <a href="/siteinfo/faq.html">FAQ</a> |
   <a href="/feedback/index.html">Feedback</a> |
   <a href="http://www.dynamicdiagrams.net/mapa/cgi-bin/help.tcl?db=javasoft&dest=http://java.sun.com/">Map</a> |
   <A HREF="http://java.sun.com/a-z/index.html">A-Z Index</A>
   </FONT>
   </CENTER>

   </TD>
 </TR>

 <TR>
   <TD>

   <TABLE WIDTH="100%" CELLPADDING="0" BORDER="0" CELLSPACING="0">
     <TR>
       <TD WIDTH="50%">
       <FONT SIZE="-2" FACE="Verdana, Arial, Helvetica, sans-serif">
       For more information on Java technology<BR>
       and other software from Sun Microsystems, call:<BR>
       </FONT>
       <FONT SIZE="-1" FACE="Verdana, Arial, Helvetica, sans-serif">
       (800) 786-7638<BR></FONT>
       <FONT SIZE="-2" FACE="Verdana, Arial, Helvetica, sans-serif">
       Outside the U.S. and Canada, dial your country's
       <A HREF="http://www.att.com/business_traveler/attdirecttollfree/">AT&amp;T&nbsp;Direct&nbsp;Access&nbsp;Number</A> first.<BR>
       </FONT>
       </TD>

       <TD ALIGN="RIGHT" WIDTH="50%">
       <A HREF="http://www.sun.com"><IMG SRC="/images/lgsun.gif" width="64" height="30" border="0" ALT="Sun Microsystems, Inc."></A><BR>
       <FONT SIZE="-2" FACE="Verdana, Arial, Helvetica, sans-serif">
       Copyright &copy; 1995-2000
       <A HREF="http://www.sun.com">Sun Microsystems, Inc.</A><BR>
       All Rights Reserved.
       <A HREF="http://www.sun.com/share/text/termsofuse.html">Terms of Use</A>.
       <A HREF="http://www.sun.com/privacy/">Privacy&nbsp;Policy</A>.
       </FONT>
       </TD>
     </TR>
   </TABLE>

   </TD>
 </TR>
</TABLE>
</FORM>

<!-- End Copyright Insert -->


</BODY>
</HTML>