D public int getAListValue (int index){ return list[index]; }
Question 4
Which of the following is true regarding subclasses?
Answer
A A subclass that inherits methods from its superclass may not override the methods.
B A subclass that inherits instance variables from its superclass may not declare additional instance variables.
C A subclass may inherit methods or instance variables from its superclass but not both.
D A subclass inherits methods and instance variables from its superclass, and may also implement its own methods and declare its own instance variables.
Question 5
Which of the following statements about an interface is true?
Answer
A An interface has instance variables but no methods.
B An interface has methods but no instance variables.
C An interface has neither methods nor instance variables.
D An interface has methods and instance variables.
Question 6
Which statement is true about a class that is marked with the keyword final:
Answer
A A class marked final will not compile unless at least one method is marked final
B You can instantiate only a subclass of a final class, not the final class itself
C You can extend a final class
D You can instantiate a final class
Question 7
What must a subclass do to modify a private superclass instance variable?
Answer
A The subclass must simply use the name of the superclass instance variable.
B The subclass must declare its own instance variable with the same name as the superclass instance variable.
C The subclass must use a public method of the superclass (if it exists) to update the superclass's private instance variable.
D The subclass must have its own public method to update the superclass's private instance variable.
Question 8
Consider the following class hierarchy:
public class Vehicle{
private String type;
public Vehicle(String type)
{
this.type = type; }
public String getType()
{
return type;
}
}
public class LandVehicle extends Vehicle
{
public LandVehicle(String type)
{
. . .
}
}
public class Auto extends LandVehicle
{
public Auto(String type)
{
. . .
}
}
Which of the following code fragments is NOT valid in Java?
Answer
A LandVehicle myAuto = new Auto("sedan");
B LandVehicle myAuto = new Vehicle("sedan");
C Auto myAuto = new Auto("sedan");
D Vehicle myAuto = new Auto("sedan");
Question 9
Consider the following code snippet:
Employee anEmployee = new Programmer();
anEmployee.increaseSalary(2500);
Assume that the Programmer class inherits from the Employee class, and both classes have an implementation of the increaseSalary method with the same set of parameters and the same return type. Which class's increaseSalary method is to be executed is determined by ____.
Answer
A the variable's type.
B it is not possible to determine which method is executed.
C the hierarchy of the classes.
D the actual object type.
Question 10
Consider the following code snippet:
if (anObject instanceof Auto)
{
Auto anAuto = (Auto) anObject;
. . .
}
What does this code do?
Answer
A This code tests whether anObject was created from a superclass of Auto.
B This code creates a subclass type object from a superclass type object.
C This code safely converts an object of type Auto or a subclass of Auto to an object of type Auto.
D This class safely converts an object of any type to an object of type Auto.
Question 11
Consider the following code snippet:
public void deposit(double amount)
{
transactionCount ++;
super.deposit(amount);
}
Which of the following statements is true?
Answer
A This method will call itself.
B This method calls a public method in its superclass.
C This method calls a public method in its subclass.
D This method calls a private method in its superclass
Question 12
If a super class named Pet and a sub class named Cat both have an instance method named methodOne() with the same method declarations, the Cat class would call methodOne() in the Pet class as follows:
Answer
A this.methodOne();
B Pet.methodOne();
C Cat.methodOne();
D super.methodOne();
E methodOne();
Question 13
Consider the following code snippet:
public class Motorcycle extends Vehicle
{
private String model;
. . .
public Motorcycle(int numberAxles, String modelName)
{
model = modelName;
super(numberAxles);
}
}
What does this code do?
Answer
A It invokes a private method of the Vehicle class from within a method of the Motorcycle class.
B It invokes the constructor of the Motorcycle class from within the constructor of the Vehicle class.
C This code will not compile.
D It invokes the constructor of the Vehicle class from within the constructor of the Motorcycle class.
Question 14
Select any statement in below that will generate an error if it replaces the comment
public class Person {
public String toString() { return "Person"; }
}
public class Student extends Person {
public String toString() { return "Student"; } }
public class GraduateStudent extends Student { }
public class Test {
public static void m(Student x) {
System.out.println(x.toString()); }
public static void main(String[ ] args) {
// Replace this comment with given statement
}
}
Answer
A m(new GraduateStudent());
B m(new Object());
C m(new Person());
D m(new Student());
Question 15
Fill in the blank to indicate either the type of error (be specific!) or the output produced by the code : var.m();
public class A {
public void m() {System.out.println ("m in class A");}
}
public class B extends A {
public void m() {System.out.println ("m in class B");}
}
public class Main {
public static void main (String [] args)
{
Object var = new B();
var.m();
// ____________________________
}
}
Answer
Question 16
Fill in the blank to indicate either the type of error (be specific!) or the output produced by the code: ((A)var).m();
public class A {
public void m() {System.out.println ("m in class A");}
}
public class B extends A {
public void m() {System.out.println ("m in class B");}
}
public class Main { public static void main (String [] args)
{ Object var = new B();
((A)var).m(); // ____________________________
}
}
Question 17
If a method in a subclass has the same signature as a method in the superclass, does the subclass method overload or override the superclass method?
Question 18
Given the following 3 data definition classes that will provide structure for a application to manage inventory at a store that sells Produce and Grocery items:
public abstract class Item {
String name; double cost;
public static final double TAX = .05;
public String getName() {return name;}
public double getCost() {return cost;}
public void setName(String n) { name = n;}
public boolean setCost (double c){
cost = c;
return (c > 0 && c < 100) ? true : false;
}
abstract public double amount() ;
public double total() {return amount() * (1+TAX); }
abstract public boolean sellItem (double amt) ;
}
public class Grocery extends Item {
private int quantity;
private static int numItems = 0;
public static int getNumItems() { return numItems; }
public boolean setQty (int q)
{
quantity = q;
return (q > 0 && q < 100) ? true : false;
}
public double amount () {return quantity * getCost();}
public boolean sellItem (double amt)
{
if (amt > quantity)
return false;
quantity -= (int) (amt+ .001);
return true;
}
Grocery () {numItems++;}
}
public class Produce extends Item {
private double weight;
private static int numItems = 0;
public static int getNumItems() { return numItems; }
public boolean setWeight(double w)
{
weight = w;
return (w > 0 && w < 10) ? true : false;
}
public double amount () {return weight * getCost(); }
public boolean sellItem (double amt)
{
if (amt > weight) return false;
weight -= amt;
return true;
} Produce () {numItems++;}
}
Give an example (by a short code segment and explanation) of how polymorphism would be implemented.
Question 19
A Java method doing Input/Output or other tasks may encounter errors that generate exceptions. In these cases, the Java method may wish to handle the exception itself.
If a Java method wants to handle an exception, how does it do this? Augment your answer with some Java code segments, to illustrate your explanation.
Solution Preview
Question 1
When a class extends an abstract class, it must provide definition of all the methods that are declared in the abstract class. Otherwise, it gives a compile time error.
Question 2
Private members can only be accessed inside the class, they are defined. So, in this case, you cannot access variable "i" from class B.
Question 3
C
Question 4
D
Question 5
B
Question 6
C
Question 7
C
Question 8
B
Question 9
D
Question 10
C
Question 11
B
Question 12
D
Question 13
D
Question 14
B and C
Question 15
The method m() is undefined for the type Object
Question 16
The output produced by the code is : m in class B
Question 17
If a method in a subclass has the same signature as a method in the superclass,the subclass method overrides the superclass method.
To overload a method with a new method in subclass, the new method in subclass should have different signature.
Question 18
From ...