142k views
0 votes
Suppose that you write a subclass of Insect named Ant. You add a new method named doSomething to the Ant class. You write a client class that instantiates an Ant object and invokes the doSomething method. Which of the following Ant declarations willnot permit this? (2 points)I. Insect a = new Ant ();II. Ant a = new Ant ();III. Ant a = new Insect ();1) I only2) II only3) III only4) I and II only5) I and III only

User Merion
by
4.1k points

1 Answer

3 votes

Answer:

5) I and III only

Step-by-step explanation:

From the declarations listed both declarations I and III will not permit calling the doSomething() method. This is because in declaration I you are creating a superclass variable but initializing the subclass. In declaration III you are doing the opposite, which would work in Java but only if you cast the subclass to the superclass that you are initializing the variable with. Therefore, in these options the only viable one that will work without error will be II.

User Mike Lentini
by
5.0k points