<< Chapter < Page Chapter >> Page >
Listing 5 - Question 5.
/*File Q05.java ************************************************//* Integer and Double are both subclasses ofNumber. Both classes define a method named doubleValue that returns the encapsulatednumeric value as type double. Both classes also contain a method named intValue thatreturns the encapsulated numeric value as type int.*/ public class Q05{public static void main(String[] args){Foo<Integer>iFoo = new Foo<Integer>(15); System.out.println(iFoo.get().intValue());displayClass(iFoo); }//end main//-------------------------------------------// static void displayClass(Foo<Number>obj){ System.out.println(obj.getClass());}//end displayClass }//end class Q05//=============================================// class Foo<T extends Number>{ private T obj;public Foo(T obj){ this.obj = obj;}//end constructor public T get(){return obj; }//end get}//end Foo //=============================================//
Figure 5 - Question 5.
15 class Foo

Answer 5

Question 6

True or False: The code shown in Listing 6 will compile and run successfully producing the output shown in Figure 6 .

Listing 6 - Question 6.
/*File Q06.java ************************************************/import java.awt.Frame; import javax.swing.JInternalFrame;import java.awt.Container; /*Frame and JInternalFrame are both subclasses of Container. Both classes define a constructorthat accepts a String as a title. Both classes define a method named getTitle that returns thetitle string. */public class Q06{ public static void main(String[]args){ Foo<Frame>fFoo = new Foo<Frame>( new Frame("Frame title"));System.out.println(fFoo.get().getTitle()); displayClass(fFoo);}//end main //-------------------------------------------//static void displayClass(Foo<Container>obj){ System.out.println(obj.getClass());}//end displayClass }//end class Q06//=============================================// class Foo<T extends Container>{ private T obj;public Foo(T obj){ this.obj = obj;}//end constructor public T get(){return obj; }//end get}//end Foo //=============================================//
Figure 6 - Question 6.
Frame title class Foo

Answer 6

Figures

Listings

What is the meaning of the following two images?

These images were inserted here simply to insert some space between the questions and the answers to keep them from being visible on the screen at thesame time.

Spacer image of a rabbit and a penguin.

This image was also inserted for the purpose of inserting space between the questions and the answers.

Spacer image of a penguin and some houses.

Answers

Answer 6

False. This program illustrates that you cannot pass an object of a parameterized class to a method that is designed to accept an incoming parameterof that class with a specific type of parameter that is a superclass of the actual type of parameter. An attempt to compile the program results in the errorshown in Figure 7 .

Figure 7 - Answer 6.
Q06.java:29: error: method displayClass in class Q06 cannot be applied to given types;displayClass(fFoo); ^required: Foo<Container>found: Foo<Frame>reason: actual argument Foo<Frame>cannot be converted to Foo<Container>by method invocation conversion 1 error

Back to Question 6

Answer 5

False. This program illustrates that you cannot pass an object of a parameterized class to a method that is designed to accept an incoming parameterof that class with a specific type of parameter that is a superclass of the actual type of parameter. An attempt to compile the program results in the errorshown in Figure 8 .

Figure 8 - Answer 5.
Q05.java:23: error: method displayClass in class Q05 cannot be applied to given types;displayClass(iFoo); ^required: Foo<Number>found: Foo<Integer>reason: actual argument Foo<Integer>cannot be converted to Foo<Number>by method invocation conversion 1 error

Back to Question 5

Answer 4

True. This program illustrates passing an object of a parameterized class to a method that is designed to accept an incoming parameter of that class witha specific type of parameter.

Back to Question 4

Answer 3

True. This program illustrates passing an object of a parameterized class to a method that is designed to accept an incoming parameter of that class with aspecific type of parameter.

Back to Question 3

Answer 2

True. This program illustrates the successful use of bounded type parameters.

Back to Question 2

Answer 1

True. This program illustrates the successful use of bounded type parameters. It also illustrates the use ofautoboxing to encapsulate primitive types int and double into objects of the wrapper classesInteger and Double.

Back to Question 1

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Java4250r: Review of Generics, Inheritance, and Subtypes
  • File: Java4250r.htm
  • Published: 10/20/13
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download aPDF file for this module at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, youshould be aware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version ofthe module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale onAmazon.com showing me as the author. I neither receive compensation for those sales nor do I know who does receive compensation. If youpurchase such a book, please be aware that it is a copy of a module that is freely available on cnx.org and that it was made andpublished without my prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask