Write a java program in which
Animal:
Create a class Animal and Add a protected data member named id of integer type.
• Add get/set methods for id data member in Animal class with public access. Also provide default constructor this should initialize id to 0.
• Also provide parameterized constructor and toString method.
• Add an abstract method tellAboutSelf method to Animal class with public access
• Add another abstract method speak method to Animal class.
Reptile, Bird, Mammal
Next create the three child classes which extends form Animal class.
• Add a default constructor to each of the above created class. The constructor should initialize the id data member id, Reptile, Bird and Mammal, to 1, 2 and 3 respectively also it display a message “(class Name)’s default constructor”. E.g. for Bird it says “Bird’s default constructor”.
• Add a parameterized constructor to each of the above created class. The constructor should initialize the id data member, Reptile, Bird and Mammal, to the specified id passed to the constructor also it display a message “(class Name)’s parameterized constructor”. The parameterized constructor should call its base class parameterized constructor to initialize any data member inherited from the base class.
• Implement the above abstract method this method displays the name of each objects class where it belongs to.
• Also implement Speak method which simply prints message “Family of Reptiles…” “Family of Birds…”, “Family of Mammals…”.
Next create class Snake ,Parrot, Horse which extends Reptile, Bird, and Mammal class respectively.
• Add a getFamily method to Snake, Parrot and Horse classes, this method must return the id of a particular animal’s family where it belongs to
• Override the tellAboutSelf in all the classes with the same functionality as in parent classes.
• Also override Speak method in each of the sub-leaving classes. The Reptile, Bird, Mammal, Snake, Parrot and Horse can speak by printing a “Shhh….”, “Trrrr….” and “Hurrrrr…” respectively.
Write down your main method and instantiate object of each class created above, call tellAboutSelf, speak and getFamily methods for each of the created object.
Note the mechanism in which constructors are called.