Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
12 Introduction to Java API Contents • • • • • • Java API Specifications java.lang package Object class Class class System class String and StringBuffer classes • Math class • java.util package 2 Objectives • Navigate the Java API Specifications • Describe the java.lang package • Explore fundamental classes in java.lang package: • • • • • • Object Class System String StringBuffer Math • Describe the java.util package 3 Java API Specifications http://java.sun.com/j2se/1.5.0/docs/api/ List of Packages List of Classes Package / Class Description 4 java.lang package • java.lang provides classes that are fundamental to the design of the Java programming language. • Object class, the root of the class hierarchy. • Class class, represents classes at run time. • Wrapper classes represent primitive types as objects. • Math class provides mathematical functions. • String and StringBuffer classes provide operations on strings. • System classes provide system operations. • Throwable class represents errors and exceptions. • java.lang is implicitly imported in every Java source file. 5 Object class Declaration: public class Object • Class Object is the root of the class hierarchy. Every class has Object as a superclass. All objects inherit the methods of this class. Method Summary protected Object boolean protected void Class<? extends Object> int clone() equals(Object obj) finalize() getClass() hashCode() void notify() void notifyAll() String toString() void wait() void wait(long timeout) void wait(long timeout, int nanos) 6 Class class Declaration: public final class Class extends Object implements Serializable, GenericDeclaration, Type, AnnotatedElement • Instances of the class Class represent classes and interfaces in a running Java application. • Every array also belongs to a class that is reflected as a Class object that is shared by all arrays with the same element type and number of dimensions. • The primitive Java types (boolean, byte, char, short, int, long, float, and double), and the keyword void are also represented as Class objects. • Class has no public constructor. Instead Class objects are constructed automatically by the Java Virtual Machine as classes are loaded in the class loader. 7 Class class Method Summary (Partial List) static Class Class[] Constructor[] Field[] Class[] forName(String className) getClasses() getConstructors() getFields() getInterfaces() Method[] getMethods() int getModifiers() String Package getName() getPackage() String getSimpleName() Class getSuperclass() boolean isArray() boolean isInstance(Object obj) boolean isInterface() boolean isLocalClass() boolean isMemberClass() boolean isPrimitive() 8 System class Declaration: public final class System extends Object • The System class contains several useful class fields and methods which are related to the following operations: • standard input, standard output, and error output streams. • access to externally defined properties and environment variables. • a means of loading files and libraries. • and a utility method for quickly copying a portion of an array. 9 System class Method Summary (Partial List) Field Summary static PrintStream err static InputStream in static PrintStream out static void static String arraycopy(Object src, int srcPos, Object dest, int destPos, int length) clearProperty(String key) static long currentTimeMillis() static void exit(int status) static void gc() static Map<String,String> static String static Properties getenv() getenv(String name) getProperties() . static SecurityManager getSecurityManager() static void load(String filename) static long nanoTime() static void runFinalization() static void runFinalizersOnExit(boolean value) static void setErr(PrintStream err) static void setIn(InputStream in) static void setOut(PrintStream out) static void setProperties(Properties props) static void setSecurityManager(SecurityManager s) 10 String class Declaration: public final class String extends Object implements Serializable, Comparable<String>, CharSequence • The String class represents character strings. All string literals in Java programs are implemented as instances of this class. • Strings are immutable, their values cannot be changed after they are created • The class String includes methods for examining individual characters of the sequence, for comparing strings, for searching strings, for extracting substrings, and for creating a copy of a string with all characters translated to uppercase or to lowercase. 11 String class Method Summary (Partial List) char int String charAt(int index) compareTo(String anotherString) concat(String str) boolean contains(CharSequence s) boolean endsWith(String suffix) boolean equals(Object anObject) static String format(String format, Object... args) int hashCode() int indexOf(int ch) int length() boolean String String[] boolean matches(String regex) replace(char oldChar, char newChar) split(String regex) startsWith(String prefix) String substring(int beginIndex) String toLowerCase() String toUpperCase() String trim() 12 StringBuffer class Declaration: public final class StringBuffer extends Object implements Serializable, CharSequence • StringBuffer is a thread-safe, mutable sequence of characters. A StringBuffer is like a String, but can be modified. • StringBuffer class has been supplemented with an equivalent class designed for use by a single thread, StringBuilder. • The StringBuilder class should generally be used in preference to StringBuffer as it supports all of the same operations but is faster as it performs no synchronization. 13 StringBuffer class Method Summary (Partial List) StringBuffer append(String str) StringBuffer append(StringBuffer sb) int char capacity() charAt(int index) StringBuffer delete(int start, int end) StringBuffer deleteCharAt(int index) int StringBuffer indexOf(String str) insert(int offset, String str) int lastIndexOf(String str) int length() StringBuffer replace(int start, int end, String str) StringBuffer reverse() void setCharAt(int index, char ch) void setLength(int newLength) String substring(int start) String substring(int start, int end) String toString() void trimToSize() 14 Math class Declaration: public final class Math extends Object • Math class contains methods for performing basic numeric operations such as elementary exponential, logarithm, square root, and trigonometric functions. • Math class cannot be extended (it is declared final) nor instantiated (its constructor is private). • Its methods are declared static and can be invoked using its class name. 15 Math class Field Summary static double E static double PI Method Summary (Partial List) static double abs(double a) static double ceil(double a) static double cos(double a) static double exp(double a) static double floor(double a) static double log(double a) static double log10(double a) static double log1p(double x) static double max(double a, double b) static double min(double a, double b) static double pow(double a, double b) static double random() static long round(double a) static double sin(double a) static double sqrt(double a) static double tan(double a) static double toDegrees(double angrad) static double toRadians(double angdeg) 16 Wrapper Classes The wrapper classes serve two primary purposes: • To provide a mechanism to "wrap" primitive values in an object so that the primitives can be included in activities reserved for objects, such as being added to collections, or returned from a method with an object return value. • To provide an assortment of utility functions for primitives. Most of these functions are related to various conversions: converting primitives to and from String objects, and converting primitives and String objects to and from different bases (or radix), such as binary, octal, and hexadecimal. 17 Wrapper Classes Constructors Primitive Wrapper Class Constructor Arguments boolean Boolean boolean or String or null byte Byte byte of String char Character char double Double double or String float Float float, double, or String int Integer int or String long Long long or String short Short short or String 18 java.util package Contains classes related to the following: • • • • • • Collections framework Legacy collection classes Event model Date and time facilities Internationalization Miscellaneous utility classes • StringTokenizer, random-number generator, and bit array 19 Key Points • The Java API is prewritten code organized into packages of similar topics • java.lang provides classes that are fundamental to the design of the Java programming language • java.lang contains the following classes: Object, Class, Math, String, StringBuffer, Throwable,Wrapper classes and System classes • java.lang package is implicitly imported in every Java source file • Object is the superclass of all classes • String objects are immutable • java.util contains classes related to the following: • Collections framework • Legacy collection classes • Event model • Date and time facilities • Internationalization • Miscellaneous utility classes 20