Upload
mabel-rice
View
213
Download
0
Embed Size (px)
Citation preview
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
1
McGraw-Hill/Irwin
Chapter 1
Introducing Java
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
2
McGraw-Hill/Irwin
Objectives
• Recognize the strengths of the Java programming language.
• Understand the uses of Java for applets and applications.
• Use the import statement to incorporate Java packages into your code.
• Declare and add components to an interface.
• Modify text using the Color and Font objects.
• Write an applet and run it in a browser or applet viewer.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
3
McGraw-Hill/Irwin
Java
• You can write small programs called applets, which run in a Web browser.
• You can write stand-alone programs called applications, which are independent of the browser.
• Programs can be text based or have graphical user interface (GUI).
• Developed by Sun Microsystems in 1991.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
4
McGraw-Hill/Irwin
An Official Description
• Java is a simple, object-oriented, robust, secure, portable, high-performance, architecturally neutral, interpreted, multithreaded, dynamic language.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
5
McGraw-Hill/Irwin
Object Oriented
• Java is a true object oriented programming language (OOP).
• In OOP, programmers create units called classes that contain data and the instructions for handling data.
• Well-designed classes are reusable components that can be combined to create new applications.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
6
McGraw-Hill/Irwin
Object Oriented Continued
• Applets running in a browser and GUI applications do not follow a sequential logic.
• Each user action can cause an event to occur, which can trigger an event handler.
• The clicking causes the event listener to notify your program, and the program automatically jumps to a procedure you have written to do the event.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
7
McGraw-Hill/Irwin
Traditional Languages are Compiled
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
8
McGraw-Hill/Irwin
Java Applets and Applications are Compiled
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
9
McGraw-Hill/Irwin
• To run a Java program, you need the Java Runtime Environment (JRE).
• To develop or write Java applications and applets you need the Java Development Kit (JDK) from Sun Microsystems.
Java Development Tools
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
10
McGraw-Hill/Irwin
The Java API
• The Java application programming interface (API) consists of classes created by Sun Microsystems and stored in library files called packages.
• We use classes from java.lang, java.awt, java.applet.
• For the other classes see table on next slide.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
11
McGraw-Hill/Irwin
Partial List of Core Java API Packages
Package Purposejava.applet Create applets
java.awt Graphical components using abstract windows toolkit
java.beans Create software components
java.io Handle input and output of data
java.lang Core functions of the language, automatically included
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
12
McGraw-Hill/Irwin
Partial List of Core Java API Packages Continued
Package Purposejava.math Handle math functions, very large
integers and decimal values
java.net Networking
java.rmi Remote objects
java.security Manage certificates, signatures, and other security
java.sql Query databases
java.swing GUI using Java Foundation Classes
java.text Manipulate text including searches
java.util Provide utilities such as dates
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
13
McGraw-Hill/Irwin
Compiler
ByteCode
Verifier
Class Loader
Interpreter Security Manager
Program Output
(May transfer to another computer)
Source code Java has Several
Levels of Security
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
14
McGraw-Hill/Irwin
Classes and Objects• A class is a template or blueprint for an object, but is not the
object itself.
• Let us take an example of a dog:
• We can describe the characteristics of a certain breed of dog, such as typical coloring and general size and whether the breed barks, bites, or runs fast and descriptions are the properties and methods of the class.
• But an actual dog (an instance of the dog class) will have a set of characteristics, such as a name and a size.
• This means you instantiate object of the dog class to create an instance of the dog.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
15
McGraw-Hill/Irwin
Java Objects
• In Java, all objects are inherited from the Object class from the lang package (java.lang.Object).
• The Object class is the superclass of all other classes, which are called subclasses.
• See Fig 1.6 for the inheritance of the applet class, which inherits from the Panel class, which inherits from the Container class, which inherits from the Component, which inherits from the Object.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
16
McGraw-Hill/Irwin
Inheritance of Java Objects
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
17
McGraw-Hill/Irwin
Inheritance
• An important concept of OOP is inheritance.
• The new class is based on an existing class.
• In Java, we say that the new class extends or inherits from the existing class.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
18
McGraw-Hill/Irwin
Encapsulation
• Another important concept of OOP is encapsulation.
• Encapsulation refers to the combination of characteristics of a class.
• Encapsulation is often referred to as data hiding.
• The class can "expose" certain properties and methods and keep others hidden.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
19
McGraw-Hill/Irwin
Punctuation
• Java is very picky about punctuation.
• Every statement must be terminated by a semicolon (;).
• The braces ({}) enclose a block of statements.
• The applet class contains a block of statements and the method inside the class contains another block.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
20
McGraw-Hill/Irwin
Case Sensitivity
• Java is case-sensitive, so it is critical that you observe the capitalization.
• Most errors on first programs are due to incorrect capitalization.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
21
McGraw-Hill/Irwin
Class Diagram
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
22
McGraw-Hill/Irwin
Naming Rules A Java name:
• must contain only letters, numbers, and underscores.
• must begin with a letter or underscore.
• cannot have any embedded spaces.
• is case sensitive.
• Cannot be one of Java's reserved words, such as boolean, public, or import. (Note that all of the Java reserved words are lowercase. If you use uppercase as part of your names, you will never have a naming conflict.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
23
McGraw-Hill/Irwin
Naming Conventions To create good Java names, you should:
• Make all names meaningful. Do not use names such as a, b, c, or x. Always create names that a person reading your code can tell the purpose of. And do not abbreviate unless using a standard abbreviation that has a clearly understood meaning.
• Begin the name with a lowercase prefix that indicates the type of component.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
24
McGraw-Hill/Irwin
• Begin the actual name (following the prefix) with an uppercase letter. Use mixed upper- and lowercase for the name, with a capital to begin each new word.
Examples
lblMessage
fntLargeText
Naming Conventions Continued
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
25
McGraw-Hill/Irwin
Finding and Fixing Errors
• Programming errors come in three varieties: compile errors, run-time errors and logic errors.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
26
McGraw-Hill/Irwin
Using HTML to Run the Applet in a Browser
• To run your applet in a browser, you need to create an HTML file that calls the applet, and then open the HTML file with the browser.
• You can set the width and height to the value of your choice, and then omit the resize method in your applet. <HTML><BODY><Applet code = FontApplet.class width = 600 height = 200></Applet></BODY></HTML>
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
27
McGraw-Hill/Irwin
Using HTML to Run the Applet in a Browser Continued
• The codes in HTML tags < > are not case sensitive, but the name of the class file is case sensitive.
• Your Java source code file has a .java extension and after the compiler completes, it creates the .class file.
• Follow the applet information with the closing tag </Applet>.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
28
McGraw-Hill/Irwin
Life Cycle of an Applet
• The execution of an applet in a browser follows a specific cycle.
• Each applet always executes four methods: init, start, stop, and destroy.
• The only method you are writing currently is the init method.
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
29
McGraw-Hill/Irwin
The Methods in the Life Cycle of an Applet
Method Purpose
init Executes the first time an applet is loaded
start Follows the init and reexecutes each time that the page displays
stop Executes when the browser leaves a Web page containing the applet
destroy Executes prior to shut down of the browser
Programming with Java
© 2002 The McGraw-Hill Companies, Inc. All rights reserved.
30
McGraw-Hill/Irwin
Class Diagram