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
Question
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
Solution
The error in the definition of the constructor in CollegeStudent is that you have to use the super() method in the first line of the constructor body. In Java, the call to the superclass constructor (using the super keyword) must be the first statement in the subclass constructor. In the provided code, the print statement is the first line in the constructor, which is causing the error.
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
You have a class Student:public class Student { public int studentId; public String studentName; public String studentGrade; public Student() { studentId = 1; studentName = null; studentGrade = "1st"; }}You have a child class CollegeStudent:public class CollegeStudent extends Student {}Then you execute the following snippet of code:CollegeStudent myCollegeStudent = new CollegeStudent();System.out.println(myCollegeStudent.studentName);What will be returned by this code?Instruction: Choose the option that best answers the question. Answer ChoicesAn exception will be thrown indicating there is no studentName variable in the CollegeStudent derived classAn exception will be thrown indicating that the studentName variable is not accessible in the derived class CollegeStudentfalsenull
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 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
Fixing Error(s)In the above question, you identified the error(s) in the constructor for the University class which is a part of the code given below. How will you now fix the error(s)?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; }}
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.