When instantiating a generic class, only reference type arguments are passed to the type parameters.
Hence, the correct answer is option “B”.
Explanation of Solution
Reference types only:
- Only non-primitive types can be substituted for type parameters when creating instances for generic class.
- Reference types are non-primitive types.
- The compiler autoboxes the primitive type values to reference types.
Explanation for incorrect options:
a. Primitive types only:
When creating instances for a generic class, only non-primitive types can be substituted for type parameters.
Hence, the option “A” is wrong.
c. Interface types only:
The type parameters can be specified as interface type but the arguments passed to type parameters at the time of instantiation, must be real types such as Integer, String, and so on.
Hence, the option “C” is wrong.
d. Primitive, reference, and interface types:
When creating instances for a generic class, only reference types can be substituted for type parameters.
Hence, the option “D” is wrong.
Want to see more full solutions like this?
Chapter 17 Solutions
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
- Design a generic class to hold the following information about a bank account. - Balance, number of deposits this month, number of withdrawals, annual interest rate, monthly service charges. The class should have the following member functions constructor: accepts arguments for the balance and annual interest rate deposit: A virtual function that accepts an argument for the amount of the deposit. The function should add the argument to the account balance. It should also increment the variable holding the number of deposits. withdraw: A virtual function that accepts an argument for the amount of the deposit. The function should subtract the argument to the account balance. It should also increment the variable holding the number of deposits. calcInt: A virtual function that updates the balance by calculating the monthly interest earned by the account, and adding this interest to the balance. This is performed by the following formulas: Monthly Interest Rate = (Annual Interest Rate /12)…arrow_forwardpublic class Point { Create two variables: 1. Generic Variable: Variable Name: data 2. Generic Point: Varibale Name: next 10 11 12 13 /* 14 Constructor that takes in two parameters (see above comment) */ 15 16 17 18 19 20 /* 21 Setters and getters 22 */ 23 24 wwwm 25 26 /* 27 tostring: output should be in the format: 28 (data)--> (next) 29 Example: 30 Point p1,p2; 31 p1.data = 4; 32 p1.next = p2; 33 p1.toString () would be: (4) -->(p2) 34 35 36arrow_forwardin C++arrow_forward
- To implement an interface, a concrete class must implement AT LEAST ONE of the method headers specified in the interface definition.arrow_forwardis a construct that defines objects of the same type. A class An object A method A data fieldarrow_forwardIn C++ class SaleItem{public:double getprice();void setprice(double);void setName(string);string getName();double TotalItemsPrice(int);private:double price;string name;}; In the class declaration above, what is the name of the class? Which lines have member access specifiers? Which lines contain data members of the class? Which lines contain accessor functions? Which lines contain mutator functions?arrow_forward
- C++ You may work on a single class. The parameter and return type s of each function and class member function should be decided in advance. The program will be best implemented as a multi-file program, (header file, the main program,..) Design a generic class to hold the following information about a bank account: Balance Number of deposits this month Number of withdrawals Annual Interest Rate Monthly service charges The class should have the following member function: Constructors Accepts arguments for the balance and annual interest rate. deposit a virtual function that accepts an argument for the amount of the deposit. The function should add the argument to the account balance. It should also increment the variable holding the number of deposits. withdraw a virtual function that accepts an argument for the amount of the withdrawal. The function should subtract the argument from the account balance. It should also increment the variable…arrow_forwardTrue or False An interface can contain only abstract methods and constants.arrow_forwardPythonarrow_forward
- C++ Language Please Write a program that implements four classes: NPC, Flying, Walking, and Generic for a fantasy roleplaying game. Each class should have the following attributes and methods: NPC -a parent class that defines methods and an attribute common to all non-player characters (npc) in the game. a private string variable named name, for storing the name of the npc. a default constructor for setting name to "placeholder". an overloaded constructor that sets name to a string argument passed to it. setName - a mutator for updating the name attribute getName - an accessor for returning the npc name printStats - a pure virtual function that will be overridden by each NPC subclass. Flying - a subclass of NPC that defines a flying npc in the game a private int variable named flightSpeed for tracking the speed of the npc. a default constructor for setting flightSpeed to 0 and name to "Flying" using setName. setFlightSpeed - a mutator that accepts an integer as it's only argument…arrow_forwardUsing C# Language: Programming PLO 3 Measured: Create control structures, methods with the appropriate parameters, and data structures of the appropriate type, and implement algorithms to solve problems. Design a class named Contractor. The class should keep the following information: Contractor name Contractor number Contractor start date Write one or more constructors and the appropriate accessor and mutator functions for the class. Write another class named Subcontractor that is derived from the Contractor class. The Subcontractor class should have member variables to hold the following information: Shift (an integer) Hourly pay rate (a double) The work is divided between two shifts, a day shift, and a night shift. The shift variable will hold an integer value representing the shift that the subcontractor will work. The day shift is 1 and the night shift is 2. Write one or more constructors and the appropriate accessor functions for the class. Demonstrate the classes…arrow_forwardC++ In this problem, you will use the Bubble class to make images of colorful bubbles. You will use your knowledge of classes and objects to make an instance of the Bubble class (aka instantiate a Bubble), set its member variables, and use its member functions to draw a Bubble into an image. Every Bubble object has the following member variables: X coordinate Y coordinate Size (i.e. its radius) Color Complete main.cc Your task is to complete main.cc to build and draw Bubble objects based on user input. main.cc already does the work to draw the Bubble as an image saved in bubble.bmp. You should follow these steps: First, you will need to create a Bubble object from the Bubble class. Next, you must prompt the user to provide the following: an int for the X coordinate, an int for the Y coordinate, an int for the Bubble's size, and a std::string for the Bubble's color. Next, you must use the user's input to set the new Bubble object's x and y coordinates, the size, and the color using…arrow_forward
- Microsoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,