Answer:
// ===== Code from file AnimalData.java =====
public class AnimalData {
private int ageYears;
private String fullName;
public void setName(String givenName) {
fullName = givenName;
return;
}
public void setAge(int numYears) {
ageYears = numYears;
return;
}
// Other parts omitted
public void printAll() {
System.out.print("Name: " + fullName);
System.out.print(", Age: " + ageYears);
return;
}
}
// ===== end =====
// ===== Code from file PetData.java =====
public class PetData extends AnimalData {
private int idNum;
public void setID(int petID) {
idNum = petID;
return
}
// FIXME: Add printAll() member function
@override
Void printAll()
{
AnimalData a1=new AnimalData();
a1.printall();
System.out.print(“id/;” +idNum);
}
}
// ===== end =====
// ===== Code from file BasicDerivedOverride.java =====
public class BasicDerivedOverride {
public static void main (String [] args) {
PetData userPet = new PetData();
userPet.setName("Fluffy");
userPet.setAge (5);
userPet.setID (4444);
userPet.printAll();
System.out.println("");
return;
}
}
// ===== end =====
Step-by-step explanation:
In the program the main thing is overriding, and this condition mentioned in the program is perfect to explain what the overriding actually means in Java. All object oriented programming language supports overriding. And remember we can also create another class main and call the overriding printAll() method from the child class as its class is being inherited by the PetData class.