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 PackagePurpose java.appletCreate applets java.awtGraphical components using abstract windows toolkit java.beansCreate software components java.ioHandle input and output of data java.langCore 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 PackagePurpose java.mathHandle math functions, very large integers and decimal values java.netNetworking java.rmiRemote objects java.securityManage certificates, signatures, and other security java.sqlQuery databases java.swingGUI using Java Foundation Classes java.textManipulate text including searches java.utilProvide utilities such as dates
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 13 McGraw-Hill/Irwin 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.
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.
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 MethodPurpose 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