Drag and Drop the code so that the constructor for Student class is overloaded correctly.public class Student { private int studentId; private String name; private float grade; public Student(int studentId, String name) { blank } public Student(int studentId, String name, float grade) { blank blank }}this.grade = grade; this(studentId,name); this.studentId = studentId; this.name = name;
Question
Drag and Drop the code so that the constructor for Student class is overloaded correctly.public class Student { private int studentId; private String name; private float grade; public Student(int studentId, String name) { blank } public Student(int studentId, String name, float grade) { blank blank }}this.grade = grade; this(studentId,name); this.studentId = studentId; this.name = name;
Solution
The correct order of the code for overloading the constructor for the Student class would be:
public class Student {
private int studentId;
private String name;
private float grade;
public Student(int studentId, String name) {
this.studentId = studentId;
this.name = name;
}
public Student(int studentId, String name, float grade) {
this(studentId, name);
this.grade = grade;
}
}
In the first constructor, this.studentId = studentId; and this.name = name; are used to initialize the studentId and name of the Student object.
In the second constructor, this(studentId, name); is used to call the first constructor to initialize studentId and name, and this.grade = grade; is used to initialize the grade of the Student object.
Similar Questions
You have a class Student:public class Student{ public int studentId; public String studentName; public String studentGrade; public Student() { } public Student(int studentId, String studentName, String studentGrade){ this.studentId = studentId; this.studentName = studentName; this.studentGrade = studentGrade; }}You have a child class CollegeStudent:public class CollegeStudent extends Student {}Then you execute the following snippet of code:CollegeStudent myCollegeStudent = new CollegeStudent(1, "Alice", "3rd");What is the error in this snippet of code?Instruction: Choose the option that best answers the question. Answer ChoicesYou cannot specify multiple constructors for the parent class, though this is allowed in child classesYou cannot use the parameterized constructor in the base class to instantiate the CollegeStudent derived classYou need to have additional constructors in the base class to support the instantiation of the CollegeStudent derived classYou have to use the “object” keyword to create an object of a derived class
DebuggingLook at the code for the School and University classes given below. There is an error in the constructor for the University class. Can you identify the error?class School { private String name; private int numStudents; public School(String name, int numStudents) { this.name = name; this.numStudents = numStudents; } public String getName() { return this.name; } public int getNumStudents() { return this.numStudents; }}class University extends School { private final String type = "University"; private boolean isPublic; public University(String name, int numStudents, boolean isPublic) { this.name = name; this.numStudents = numStudents; this.isPublic = isPublic; } public boolean getIsPublic() { return this.isPublic; }}
You have a class Student with a method viewStudentInfo():public class Student { // Assume the constructors are set up correctly protected int studentId; protected String studentName; protected int studentGrade; public void viewStudentInfo(){ System.out.format("Id: %d, Name: %s, Grade: %d" , studentId, studentName, studentGrade); }}You have a child class CollegeStudent with an overridden implementation of viewStudentInfo :public class CollegeStudent extends Student { // Assume the constructors are set up correctly public void viewStudentInfo(){ System.out.format("Year: Freshman, Id: %d, Name: %s, Grade: %d" , studentId, studentName, studentGrade); }}Then you execute the following snippet of code (assume that the constructors are set up correctly and this class instantiation works):Student bob = new CollegeStudent(1, "Bob", 50);bob.viewStudentInfo();What will be returned by this snippet of code?Instruction: Choose the option that best answers the question. Answer ChoicesYear: Freshman, Id: 1, Name: BobYear: Freshman, Id: 1, Name: Bob, Grade: 50Year: Freshman, Id: 1, Name: Bob Id: 1, Name: Bob, Grade: 50Id: 1, Name: Bob, Grade: 50
You have a class Student:public class Student { public int studentId; public String studentName; public String studentGrade; public Student(int studentId, String studentName, String studentGrade){ this.studentId = studentId; this.studentName = studentName; this.studentGrade = studentGrade; }}You have a child class CollegeStudent:public class CollegeStudent extends Student {}What is the error in this inheritance setup?Instruction: Choose the option that best answers the question. Answer ChoicesYou have to specify a default, no argument constructor in the derived class so that the derived class can be instantiatedYou have to create child classes marked with the special modifier “derived” so the inheritance hierarchy itself is wrongYou have to specify a parameterized constructor in the derived class so that the derived class can be instantiatedThere has to either be a default constructor defined in Student or a constructor defined in CollegeStudent
You have a class Student:public class Student { public int studentId; public String studentName; public String studentGrade; public Student() { } public Student(int studentId, String studentName, String studentGrade){ this.studentId = studentId; this.studentName = studentName; this.studentGrade = studentGrade; }}You have a child class CollegeStudent:public class CollegeStudent extends Student { public CollegeStudent(int studentId, String studentName, String studentGrade){ System.out.println("This constructor uses the super keyword"); super(studentId, studentName, studentGrade); }}What is the error in the definition of the constructor in CollegeStudent?Instruction: Choose the option that best answers the question. Answer ChoicesYou have to use the super() method in the first line of the constructor bodyDerived classes cannot invoke constructors that are part of the parent classYou have to use the base() method to invoke the constructor of the superclassYou must use the modifier “constructor” to define constructors
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.