Quiz Questions
For Chapter 5

THIS PAGE CONTAINS A SAMPLE quiz on material from Chapter 5 of this on-line Java textbook. You should be able to answer these questions after studying that chapter. Sample answers to all the quiz questions can be found here.

Question 1: Object-oriented programming uses classes and objects. What are classes and what are objects? What is the relationship between classes and objects?

Question 2: Explain carefully what null means in Java, and why this special value is necessary.

Question 3: What is a constructor? What is the purpose of a constructor in a class?

Question 4: Suppose that Kumquat is the name of a class and that fruit is a variable of type Kumquat. What is the meaning of the statement "fruit = new Kumquat();"? That is, what does the computer do when it executes this statement? (Try to give a complete answer. The computer does several things.)

Question 5: What is meant by the terms instance variable and instance method?

Question 6: Explain what is meant by the terms subclass and superclass.

Question 7: Explain the term polymorphism.

Question 8: Java uses "garbage collection" for memory management. Explain what is meant here by garbage collection. What is the alternative to garbage collection?

Question 9: For this problem, you should write a very simple but complete class. The class represents a counter that counts 0, 1, 2, 3, 4,.... The name of the class should be Counter. It has one private instance variable representing the value of the counter. It has two instance methods: increment() adds one to the counter value, and getValue() returns the current counter value. Write a complete definition for the class, Counter.

Question 10: This problem uses the Counter class from Question 9. The following program segment is meant to simulate tossing a coin 100 times. It should use two Counter objects, headCount and tailCount, to count the number of heads and the number of tails. Fill in the blanks so that it will do so.

          Counter headCount, tailCount;
          tailCount = new Counter();
          headCount = new Counter();
          for ( int flip = 0;  flip < 100;  flip++ ) {
             if (Math.random() < 0.5)    // There's a 50/50 chance that this is true.
                 ______________________ ;   // Count a "head".
                 ______________________ ;   // Count a "tail".
          System.out.println("There were " + ___________________ + " heads.");
          System.out.println("There were " + ___________________ + " tails.");

[ Answers | Chapter Index | Main Index ]