Abstract Classes and Interfaces

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

C. Inheritance

What is the best suitable relationship between Employee and Faculty?

E. BEDC

What is the output of running class Test? public class Test { public static void main(String[] args) { new Circle9(); } } public abstract class GeometricObject { protected GeometricObject() { System.out.print("A"); } protected GeometricObject(String color, boolean filled) { System.out.print("B"); } } public class Circle9 extends GeometricObject { /** Default constructor */ public Circle9() { this(1.0); System.out.print("C"); } /** Construct circle with a specified radius */ public Circle9(double radius) { this(radius, "white", false); System.out.print("D"); } /** Construct a circle with specified radius, filled, and color */ public Circle9(double radius, String color, boolean filled) { super(color, filled); System.out.print("E"); } }

C. abstract class A { abstract void unfinished(); }

Which of the following class definitions defines a legal abstract class?

B. public abstract void method();

Which of the following declares an abstract method in an abstract Java class?

D. interface A { void print();}

Which of the following is a correct interface?

C. The constructors in an abstract class are private. D. You may declare a final abstract class. E. An interface may contain constructors.

Which of the following is incorrect?

B. Double i = 4.5; C. Object i = 4.5; D. Number i = 4.5;

Which of the following statements are correct?

B. A a = new B(); D. B b = new B(); Explanation: Since B is a concrete class with a default constructor, d is correct. Since an instance of B is also an instance of A, b is also correct.

Suppose A is an abstract class, B is a concrete subclass of A, and both A and B have a no-arg constructor. Which of the following is correct?

B. A a = new B(); D. B b = new B(); Explanation: Since B is a concrete class with a default constructor, d is correct. Since an instance of B is also an instance of A, b is also correct.

Suppose A is an interface, B is a concrete class with a default constructor that implements A. Which of the following is correct?

A. The program has a compile error because the clone() method is protected in the Object class. B. After you override the clone() method and make it public in the Circle class, the problem can compile and run just fine, but y is null if Circle does not implement the Cloneable interface. C. To enable a Circle object to be cloned, the Circle class has to override the clone() method and implement the java.lang.Cloneable interface. D. If GeometricObject implements Cloneable and Circle overrides the clone() method, the clone() method will work fine to clone Circle objects.

The GeometricObject and Circle classes are defined in this chapter. Analyze the following code. public class Test { public static void main(String[] args) { GeometricObject x = new Circle(3); GeometricObject y = (Circle)(x.clone()); System.out.println(x); System.out.println(y); } }

D. The program has a runtime error because the compareTo methods in Rational, Integer, and Double classes do not compare the value of one type with a value of another type.

The Rational class in this chapter extends java.lang.Number and implements java.lang.Comparable. Analyze the following code. 1. public class Test { 2. public static void main(String[] args) { 3. Number[] numbers = {new Rational(1, 2), new Integer(4), new Double(5.6)}; 4. java.util.Arrays.sort(numbers); 5. } 6. }

C. new Rational(5, 4).doubleValue(); E. new Rational(5, 4).intValue();

The Rational class in this chapter is defined as a subclass of java.lang.Number. Which of the following expressions is correct?

A. If you compile an interface without errors, a .class file is created for the interface. B. If you compile a class without errors but with warnings, a .class file is created. D. If you compile an interface without errors, but with warnings, a .class file is created for the interface.

Which of the following statements are true?

A. Inheritance models the is-a relationship between two classes. B. A strong is-a relationship describes a direct inheritance relationship between two classes. C. A weak is-a relationship describes that a class has certain properties. D. A strong is-a relationship can be represented using class inheritance. E. A weak is-a relationship can be represented using interfaces.

Which of the following statements are true?

A. The String class implements Comparable<String>. B. The Date class implements Comparable<Date>. C. The Double class implements Comparable<Double>. D. The BigInteger class implements Comparable<BigInteger>.

Which of the following statements are true?

A. Abstract classes have constructors. B. A class that contains abstract methods must be abstract. C. It is possible to declare an abstract class that contains no abstract methods. D. An abstract method cannot be contained in a nonabstract class.

Which of the following statements regarding abstract methods are true?

B. An abstract class can be extended. C. A subclass of a non-abstract superclass can be abstract. D. A subclass can override a concrete method in a superclass to declare it abstract. E. An abstract class can be used as a data type.

Which of the following statements regarding abstract methods are true?

D. At runtime, new Integer[2] is assigned to numberArray. This makes each element of numberArray an Integer object. So you cannot assign a Double object to it.

Analyze the following code. Number[] numberArray = new Integer[2]; numberArray[0] = new Double(1.5);

D. The program has a runtime error on Line 4 because the Fruit class does not implement the java.lang.Comparable interface and the Fruit objects are not comparable.

Analyze the following code. 1. public class Test { 2. public static void main(String[] args) { 3. Fruit[] fruits = {new Fruit(2), new Fruit(3), new Fruit(1)}; 4. java.util.Arrays.sort(fruits); 5. } 6. } class Fruit { private double weight; public Fruit(double weight) { this.weight = weight; } }

D. The program has a compile error because the return type of the clone() method is java.lang.Object.

Analyze the following code. public class Test { public static void main(String[] args) { java.util.Date x = new java.util.Date(); java.util.Date y = x.clone(); System.out.println(x = y); } }

D. The program has a compile error because the member access operator (.) is executed before the casting operator.

Analyze the following code. public class Test { public static void main(String[] args) { Number x = new Integer(3); System.out.println(x.intValue()); System.out.println((Integer)x.compareTo(new Integer(4))); } }

C. The program has a compile error because x does not have the compareTo method.

Analyze the following code. public class Test { public static void main(String[] args) { Number x = new Integer(3); System.out.println(x.intValue()); System.out.println(x.compareTo(new Integer(4))); } }

B. The program has a compile error because o1 is an Object instance and it does not have the compareTo method. D. The program would compile if ((Comparable)o1.compareTo(o2) >= 0) is replaced by (((Comparable)o1).compareTo(o2) >= 0). Explanation: The . operator is performed before casting.

Analyze the following code: public class Test1 { public Object max(Object o1, Object o2) { if ((Comparable)o1.compareTo(o2) >= 0) { return o1; } else { return o2; } } }

A. calendar.get(Calendar.MONTH)

Assume Calendar calendar = new GregorianCalendar(). __________ returns the month of the year.

E. calendar.getActualMaximum(Calendar.DAY_OF_MONTH)

Assume Calendar calendar = new GregorianCalendar(). __________ returns the number of days in a month.

D. calendar.get(Calendar.WEEK_OF_YEAR)

Assume Calendar calendar = new GregorianCalendar(). __________ returns the week of the year.

D. Composition

Assume an employee can work for only one company. What is the best suitable relationship between Company and Employee?

D. b is an instance of A followed by b is an instance of C.

Show the output of running the class Test in the following code lines: interface A { } class C { } class B extends D implements A { } public class Test { public static void main(String[] args) { B b = new B(); if (b instanceof A) System.out.println("b is an instance of A"); if (b instanceof C) System.out.println("b is an instance of C"); } } class D extends C { }

C. A runtime class casting exception occurs, since numberRef is not an instance of Double.

The java.lang.Number and its subclasses are introduced in Chapter 11. Analyze the following code. Number numberRef = new Integer(0); Double doubleRef = (Double)numberRef;

B. The program has a compile error on Line 5 because java.util.Calendar is an abstract class.

The java.util.Calendar and java.util.GregorianCalendar classes are introduced in Chapter 11. Analyze the following code. 1. import java.util.*; 2. public class Test { 3. public static void main(String[] args) { 4. Calendar[] calendars = new Calendar[10]; 5. calendars[0] = new Calendar(); 6. calendars[1] = new GregorianCalendar(); 7. } 8. }

D. [New York, Dallas]

The output from the following code is __________. java.util.ArrayList<String> list = new java.util.ArrayList<>(); list.add("New York"); java.util.ArrayList<String> list1 = (java.util.ArrayList<String>)(list.clone()); list.add("Atlanta"); list1.add("Dallas"); System.out.println(list1);

C. Inheritance

The relationship between an interface and the class that implements it is

A. A class type B. An interface type C. An array type

_______ is a reference type.


Ensembles d'études connexes

Nutrition for Healthy Life Exam 2 Review Questions

View Set

Organizations that Help Shape Community Health

View Set

Ch. 18 Peripheral Vascular with Lymphatics

View Set