Consider the following Java code. public class Person { private String name; pri
ID: 3840094 • Letter: C
Question
Consider the following Java code.
public class Person {
private String name;
private int age;
public void setName(String n) { name = n; }
public void getName() { return name; }
public void setAge(int a) { age = a; }
public void getAge() { return age; }
public Person() { name = ""; age = 0; }
public Person(String name, int age) { name = n; age = 0; }
}
public class Student extends Person { . . . }
Which of these constructors and their implementations are valid?
public Student() {
super("", 0);
System.out.println("No student information specified");
}
public Student(String name, int age) {
super(name, age);
System.out.printf("Name: %s, Age: %d ", name, age);
}
public Student(int age, String name) {
super(name, age);
System.out.printf("Name: %s, Age: %d ", name, age);
}
public Student(int age, String name, int height) {
super();
super.setName(name);
super.setAge(age);
System.out.printf("Name: %s, Age: %d, Height: %d ", name, age, height);
}
All of these above.
a. public Student() {
super("", 0);
System.out.println("No student information specified");
}
public Student(String name, int age) {
super(name, age);
System.out.printf("Name: %s, Age: %d ", name, age);
}
public Student(int age, String name) {
super(name, age);
System.out.printf("Name: %s, Age: %d ", name, age);
}
public Student(int age, String name, int height) {
super();
super.setName(name);
super.setAge(age);
System.out.printf("Name: %s, Age: %d, Height: %d ", name, age, height);
}
All of these above.
Explanation / Answer
The answer to this is all of the above as option b and c are same we can change the order of the parameters passed and the other 2 are also the valid constructor call.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.