190 likes | 350 Views
Importing methods in the Java library. Previously discussed. Method = a collection of statements that performs a complex (useful) task A method is identified by a method name Class = a container for methods Methods that serves a similar purpose are stored in the same class
E N D
Previously discussed • Method = a collection of statements that performs a complex (useful) task A method is identified by a method name • Class = a container for methods Methods that serves a similar purpose are stored in the same class A class is identified by a class name
Previously discussed (cont.) • Schematically:
Organization of the Java library • The Standard Java library consists of a number of packages Each package consists of a number of classes (that provide similar functionality)
Organization of the Java library (cont.) • The standard Java library is named java • A package named xxx inside the standard Java library is named java.xxx
Organization of the Java library (cont.) • Some commonly used packages: • java.lang: Provides classes that are fundamental to the design of the Java programming language. Official website: http://download.oracle.com/javase/1.4.2/docs/api/java/lang/package-summary.html • java.lang: Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array). Official website: http://download.oracle.com/javase/1.4.2/docs/api/java/util/package-summary.html
Organization of the Java library (cont.) • Schematical representation of Java's Standard library:
Organization of the Java library (cont.) • A class named yyy inside the package java.xxx is named java.xxx.yyy Example: • The class Math inside the package java.lang is known as java.lang.Math • The class Double inside the package java.lang is known as java.lang.Double • The class Stack inside the package java.util is known as java.util.Stack • The class Scanner inside the package java.util is known as java.util.Scanner
Organization of the Java library (cont.) • Note: • It is a Java convention that the name of a Java class begins with a upper case letter • It is also a Java convention that the name of a method begins with a lower case letter
Importing a method that is available in Java's standard library: importing a class • Rule of usage: The import clauses must occur before any class definitions • If a Java program wants to use a method in the Java library, the Java program must firstimport the containing class
Importing a method that is available in Java's standard library: importing a class (cont.) • Syntax to import a class from the Java library: import className ;
Importing a method that is available in Java's standard library: importing a class (cont.) • Examples: import java.lang.Math; import java.lang.Double; import java.util.Stack; import java.util.Scanner; // After the import clauses, you can write // the class definition // This program can now use all methods defined inside // the classes Math, Double, Stack and Scanner public class MyProgram { public static void main(String[] args) { double a; a = Math.sqrt(2.0); // Save computed value in variable System.out.println(a); // You can print the saved value later } }
Importing all classes in a package • Some complex Java program may use many different methods contained in many different classes in the same package It would be a pain to write a long list of import clauses Example: import java.lang.Math; import java.lang.Double; import java.lang.Integer; ...
Importing all classes in a package (cont.) • There is a short hand to import all classes contained in a package: import java.lang.* ; // import all class in java.lang package import java.util.* ; // import all class in java.util package
Frequently used methods: java.lang • According to the Rule of usage: We must importjava.lang.Math if we want to use the method Math.sqrt() • If a Java program wants to use a method in the Java library, the Java program must firstimport the containing class
Frequently used methods: java.lang (cont.) import java.lang.Math; // We MUST import this class to use Math.sqrt public class Abc { double a, b, c, x1, x2; // Define 5 variable a = 1.0; b = 0.0; c = -4.0; x1 = ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a); x2 = ( -b + Math.sqrt( b*b - 4*a*c ) ) / (2*a); System.out.print("a = "); System.out.println(a); System.out.print("b = "); System.out.println(b); System.out.print("c = "); System.out.println(c); System.out.print("x1 = "); System.out.println(x1); System.out.print("x2 = "); System.out.println(x2); } • We should have written:
Frequently used methods: java.lang (cont.) • But.... because: all classes in the java.lang package are automatically included in every Java program (the Java compiler is programmed to do this) That is why we did not need to import java.lang.Math in our program. • The package java.lang contains classes that are fundamental to the design of the Java programming language.
Summary: importing methods in the Java library • Rule of usage: • If a Java program wants to use a method in the Java library, the Java program must firstimport the containing class • All classes in the java.lang package have already been imported into a Java program • (You can use methods in these classes without the import clause)
Summary: importing methods in the Java library (cont.) • Analogy: The reason you need to import the method is because the Java compiler needs to know the details of the method before it can make the correct translation. • You can think of methods inside your Java program and methods inside the Java library as subjects (people) from different automonous entities (e.g., countries) • When you want to "bring" a method from the Java library into your program, you need to issue an import "license"