java packages and libraries m taimoor khan taimoorkhan@ciit-attock.edu.pk

Post on 12-Jan-2016

222 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Java Packages and Libraries

M Taimoor Khantaimoorkhan@ciit-attock.edu.pk

Content

• What is a class library?• What is a package?• Java class libraries, what do they

provide?• The root class : java.lang.object

2

The Java class library• Thousands of classes• Tens of thousands of methods• Many useful classes that make life much easier• A Java programmer must be able to work with the

librarieso http://java.sun.com/javase/reference/api.jsp

3

Working with the library

You should:• know some important classes by name• know how to find out about other classes

o http://java.sun.com/javase/6/docs/api/

Remember:• We only need to know the interface, not the

implementation

4

The public face of the class

The exit conditionString input = reader.getInput();

if(input.startsWith("bye")) { finished = true;}

• Where does ‘startsWith’ come from?• What is it? What does it do?• How can we find out?

5

Reading class documentation

• Documentation of the Java libraries in HTML format;

• Readable in a web browser• Class API: Application Programmers’ Interface• Interface description for all library classes

6

Interface vs implementation

The documentation includes• the name of the class;

7

Interface vs implementation

The documentation includes• a general description of the class;

8

Interface vs implementation

The documentation includes• a list of constructors

9

Interface vs implementation

The documentation includes• a list of methods

10

Interface vs implementation

The documentation includes• return values and parameters for constructors

and methods

11

Interface vs implementation

The documentation does not include

• private fields (most fields are private)• private methods• the implementation (source code) for each

method

12

Using library classes• Classes from the library must be imported using

an import statement (except classes from java.lang).

• They can then be used like classes from the current project.

• http://java.sun.com/docs/books/tutorial/java/package/usepkgs.html

13

“The Java compiler automatically imports” •java.lang package•the package of the current file source code

Packages and import• Classes are organised in packages.

• Single classes may be imported:

import java.util.ArrayList;

• Whole packages can be imported:

import java.util.*;

14

Some of the Packages listed in the API

Packages are NOT hierarchicalUsing “import java.awt.*;” does not import java.awt.color.*;

Using Random• The library class Random can be used to generate random numbers

15

import java.util.Random;...Random randomGenerator = new Random();...int index1 = randomGenerator.nextInt();int index2 = randomGenerator.nextInt(100);

Generating random responses

16

public Responder(){ randomGenerator = new Random(); responses = new ArrayList<String>(); fillResponses();}

public String generateResponse(){ int index = randomGenerator.nextInt(responses.size()); return responses.get(index);}

public void fillResponses(){ ...}

Java Packages• An overview can be found at this link• http://java.sun.com/javase/6/docs/api/overview-summary.ht

ml

17

Java Packages• Inside each package you will find

o InterfacesoClasseso Enumerationso Exceptions

18

java.lang• “Provides classes that are fundamental to the design of the

Java programming language.”• Boolean, Byte, Double, Integer, Long, String • Math • System • Object

19

All classes are Objects

23

Packages

24

25

Reading & Exercises• P136 – p147• Collections

o http://java.sun.com/docs/books/tutorial/collections/index.html

• Swingo http://java.sun.com/docs/books/tutorial/ui/index.html

• Classes and Objectso http://java.sun.com/docs/books/tutorial/java/javaOO/inde

x.html

• Genericso http://java.sun.com/docs/books/tutorial/java/generics/ind

ex.htm

26

References• http://java.sun.com/javase/reference/api.jsp• http://java.sun.com/docs/books/tutorial/java/package/mana

gingfiles.html• http://en.wikipedia.org/wiki/Classpath_(Java)• http://condor.depaul.edu/~glancast/224class/docs/lecJun16.

html

27

top related