<< Chapter < Page | Chapter >> Page > |
The char type
The char type is a 16-bit Unicode character value that has the possibility of representing more than 65,000 different characters.
Evaluating a primitive variable
A reference to the name of a primitive variable in program code evaluates to the value stored in the variable. In other words, when you call out the name ofa primitive variable in your code, what you get back is the value stored in the variable.
Primitive types are not objects
Primitive data types in Java (int, double, etc.) are not objects. This has some ramifications as to how they can be used (passing to methods, returning from methods, etc.) .
The generic Object type
Later on in this course of study, you will learn that much of the power of Java derives from the ability to deal with objects of any type asthe generic type Object . For example, several of the standard classes in the API (such as the powerful Vector class) are designed to work only with objects of type Object .
(Note that this document was originally published prior to the introduction of generics in Java. The introduction of generics makes itpossible to cause the Vector class to deal with objects of types other than Object . However, that doesn't eliminate the need for wrapper classes.)
Converting primitives to objects
Because it is sometimes necessary to deal with a primitive value as though it were an object, Java provides wrapper classes that support object-oriented functionality for Java's primitive data types.
The Double wrapper class
This is illustrated in the program shown in Listing 6 that deals with a double type as an object of the class Double .
(Remember, Java is a case-sensitive language. Note the difference between the primitive double type and the class named Double .)
Listing 6 . The program named wrapper1. |
---|
/*File wrapper1.java Copyright 1997, R.G.Baldwin
This Java application illustrates the use of wrappersfor the primitive types.
This program produces the following output:My wrapped double is 5.5
My primitive double is 10.5**********************************************************/
class wrapper1 { //define the controlling classpublic static void main(String[] args){//define main//The following is the declaration and instantiation of
// a Double object, or a double value wrapped in an// object. Note the use of the upper-case D.
Double myWrappedData = new Double(5.5);//The following is the declaration and initialization
// of a primitive double variable. Note the use of the// lower-case d.
double myPrimitiveData = 10.5;
//Note the call to the doubleValue() method to obtain// the value of the double wrapped in the Double
// object.System.out.println(
"My wrapped double is " + myWrappedData.doubleValue());System.out.println(
"My primitive double is " + myPrimitiveData );}//end main
}//End wrapper1 class. |
The operation of this program is explained in the comments, and the output from the program is shownin the comments at the beginning.
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?