When a subclass constructor calls its superclass constructor What happens if the superclasss constructor does not assign a value to an instance variable?

23 Questions | Total Attempts: 1545

  •  Which of the following statements is false? 

    • A subclass is generally larger than its superclass.

    • A superclass object is a subclass object.

    • The class following the extends keyword in a class declaration is the direct superclass of the class being declared.

    • Java uses interfaces to provide the benefits of multiple inheritance.

  •  Inheritance is also known as the

  •  Which of the following is not a superclass/subclass relationship?

    • University/Brown University

  • : An advantage of inheritance is that:

    • All methods can be inherited

    • All instance variables can be uniformly accessed by subclasses and superclasses.

    • Objects of a subclass can be treated like objects of their superclass.

  • Which of the following keywords allows a subclass to access a superclass method even when the subclass has overridden the superclass method?

  • Using the protected keyword gives a member:

  • Superclass methods with this level of access cannot be called from subclasses.

  •  Every class in Java, except ________, extends an existing class.

  • Overriding a method differs from overloading a method because:

    • A. Overloaded methods have the same signature.

    • B. Overridden methods have the same signature.

  • 9.4.2 Q1: To avoid duplicating code, use ________, rather than ________.

    • A. inheritance, the “copy-and-past” approach.

    • B. the “copy-and-past” approach, inheritance.

    • C. a class that explicitly extends Object, a class that does not extend Object.

    • D. a class that does not extend Object, a class that explicitly extends Object.

  • Consider the classes below, declared in the same file:class A {   int a;   public A()    {      a = 7;   }}class B extends A {   int b;   public B()    {b = 8;   }    }Which of the statements below is false?

    • A. Both variables a and b are instance variables.

    • B. After the constructor for class B executes, the variable a will have the value 7.

    • C. After the constructor for class B executes, the variable b will have the value 8.

    • D. A reference of type A can be treated as a reference of type B.

  • 9.4.3 Q2: Which of the following is the superclass constructor call syntax?

    • A. keyword super, followed by a dot (.) .

    • B. keyword super, followed by a set of parentheses containing the superclass constructor arguments.

    • C. keyword super, followed by a dot and the superclass constructor name.

  • Which superclass members are inherited by all subclasses of that superclass?

    • A. private instance variables and methods.

    • B. protected instance variables and methods.

    • D. protected constructors.

  • 9.4.4 Q2: Which statement is true when a superclass has protected instance variables?

    • A. A subclass object can assign an invalid value to the superclass’s instance variables, thus leaving an object in an inconsistent state.

    • B. Subclass methods are more likely to be written so that they depend on the superclass’s data implementation.

    • C. We may need to modify all the subclasses of the superclass if the superclass implementation changes.

  • 9.4.5 Q1: private fields of a superclass can be accessed in a subclass

    • A. by calling private methods declared in the superclass.

    • B. by calling public or protected methods declared in the superclass.

  • Failure to prefix the superclass method name with the keyword super and a dot (.) separator when referencing the superclass’s method causes ________.

  • 9.5 Q1: When a subclass constructor calls its superclass constructor, what happens if the superclass’s constructor does not assign a value to an instance variable?

    • A. A syntax error occurs.

    • B. A compile-time error occurs.

    • C. A run-time error occurs.

    • D. The program compiles and runs because the instance variables are initialized to their default values.

  • 9.6 Q1: Which of the following statements is (are) true?A.    We can use inheritance to customize existing software.B.    A superclass specifies commonality.C.    A superclass can be modified without modifying subclassesD.    A subclass can be modified without modifying its superclass.

  • 9.6 Q2: Which of the following is an example of a functionality that should not be “factored out” to a superclass?

    • A. Both ducks and geese are birds that know how to start flying from the water.

    • B. All vehicles know how to start and stop.

    • C. All animals lay eggs, except for mammals.

    • D. All paints have a color.

  • 9.7 Q1: The default implementation of method clone of Object performs a ________.

  • 9.7 Q2: The default equals implementation determines:

    • A. whether two references refer to the same object in memory.

    • B. whether two references have the same type.

    • C. whether two objects have the same instance variables.

    • D. whether two objects have the same instance variable values.

  • 9.8 Q1: Class ________ represents an image that can be displayed on a JLabel.

  • 9.8 Q2: Which method changes the text the label displays?

  • HTML
  • Server
  • PHP
  • Computer Science
  • SQL

Given:

public class Counter { private int count; public Counter() { count = 5; } public void increment() { count++; } public void reset() { count = 0; } public int value() { return count; } }

If I have a subclass with a defined function (not implicitly created), does the subclass constructor inherit the instance variable count from the superclass constructor? I ask this because I'm running into a bit of a confusion with regards to private count.

public class ModNCounter extends Counter { int modCount; public ModNCounter(int n) { modCount = n; } @Override public int value() { return super.value() % modCount; } public static void main(String[] args) { ModNCounter modCounter = new ModNCounter(3); System.out.println(modCounter.value()); //prints out 5 % 3 = 2 modCounter.increment(); // count = 6 System.out.println(modCounter.value()); //prints out 6 % 3 = 0 modCounter.reset(); // count = 0 modCounter.increment(); // count = 1 System.out.println(modCounter.value()); //print 1 % 3 = 1 } }

Does the object modCounter have a count variable? If not, why is modCounter.increment() not giving me an error?

Postingan terbaru

LIHAT SEMUA