In the example below, the Student class overrides the getFood() method of the Person() class, and it
Question:
In the example below, the Student class overrides the getFood() method of the Person() class, and it uses super.getFood() to call the Person getFood() method before adding on to it. Here, a Person is associated with the food "Hamburger" and a Student is associated with "Hamburger" and "Taco".
Add another subclass called Vegan that inherits from the Student class. Add a Vegan contructor that takes a name as an argument and passes it to the super constructor. Override the getFood() method in Vegan to call the superclass getFood() but add a "No " in front of it and then say "but " and add a vegan food. Change Javier to a Vegan object in main() and try it out!
public class Person
{
private String name = null;
public Person(String theName)
{
name = theName;
}
public String getFood()
{
return "Hamburger";
}
public static void main(String[] args)
{
Person p = new Student("Javier");
System.out.println(p.getFood());
}
}
class Student extends Person
{
private int id;
private static int nextId = 0;
public Student(String theName)
{
super(theName);
id = nextId;
nextId++;
}
public String getFood()
{
String output = super.getFood();
return output + " and Pizza";
}
public int getId() {return this.id;}
public void setId (int theId)
{
this.id = theId;
}
}
Java An Introduction To Problem Solving And Programming
ISBN: 9780134462035
8th Edition
Authors: Walter Savitch