The JavaTM Tutorial

| Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form

Trail: Learning the Java Language
Lesson: Classes and Inheritance

## Answers to Questions and Exercises: Managing Inheritance

### Questions

> Question 1: Consider the following two classes:

> >     public class ClassA {
> >         public void methodOne(int i) {
> >         }
> >         public void methodTwo(int i) {
> >         }
> >         public static void methodThree(int i) {
> >         }
> >         public static void methodFour(int i) {
> >         }
> >     }

> >     public class ClassB extends ClassA {
> >         public static void methodOne(int i) {
> >         }
> >         public void methodTwo(int i) {
> >         }
> >         public void methodThree(int i) {
> >         }
> >         public static void methodFour(int i) {
> >         }
> >     }

> > Question 1a: Which method overrides a method in the superclass?
> > Answer 1a: `methodTwo`

> > Question 1b: Which method hides a method in the superclass?
> > Answer 1b: `methodFour`

> > Question 1c: What do the other methods do?
> > Answer 1c: They generate compile-time errors.

> Question 2: Consider the `Card`, `Deck`, and `DisplayDeck` classes you wrote in the previous exercise. What `Object` methods should each of these classes override?
> Answer 2: `Card` should override `equals`, `hashCode`, and `toString`. `Deck` could override `toString`, but you probably wouldn't ever do that.

### Exercises

> Exercise 1: Write the implementations for the methods that you answered in question 2.
> Answer 1: See `Card2`.

> Exercise 2: Write an abstract class. Write at least two of its nonabstract subclasses.
> Answer 2: If you tell us your solution, we'll post the best one.

| Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form

Copyright 1995-2004 Sun Microsystems, Inc. All rights reserved.