java question Build Animal Class as abstract class 1 Create
java question
Build Animal Class as abstract class
1. Create 3 subclasses from the Animal class
2. Demonstrate the use of multiple constructors
3. Demonstrate method overriding
4. Use data hiding with private variables and public Get/Set Methods
thanks
Solution
HI, Please find my implementation
Please let me know in case of any implementation.
abstract class Animal {
private boolean isAPet = true;
private String name;
// default constructor
public Animal(){
name = \"Not Assigned\";
System.out.println(\"Animal Default Constructor\");
}
// parameterized instructor
public Animal(String name, boolean isPet){
System.out.println(\"Animal Parameterized constructor\");
this.name = name;
isAPet= isPet;
}
public void eat(){
System.out.println(\"Animal Eating\");
}
// getters and setters
public String getName(){
return name;
}
public boolean isPet(){
return isAPet;
}
public void setName(String name){
this.name = name;
}
public void setIsPet(boolean status){
isAPet= status;
}
}
class Cat extends Animal {
public Cat(){
System.out.println(\"Cat Default Constructor\");
}
public Cat(String name, boolean isPet){
// calling parent constructor
super(name, isPet);
System.out.println(\"Cat Parameterized constructor\");
}
// method overriding
public void eat(){
System.out.println(\"Cat Eating\");
}
}
class Lion extends Animal {
public Lion(){
System.out.println(\"Cat Default Constructor\");
}
public Lion(String name, boolean isPet){
// calling parent constructor
super(name, isPet);
System.out.println(\"Lion Parameterized constructor\");
}
// method overriding
public void eat(){
System.out.println(\"Lion Eating\");
}
}
class Dog extends Animal {
public Dog(){
System.out.println(\"Cat Default Constructor\");
}
public Dog(String name, boolean isPet){
// calling parent constructor
super(name, isPet);
System.out.println(\"Dog Parameterized constructor\");
}
// method overriding
public void eat(){
System.out.println(\"Dog Eating\");
}
}
public class AnimalTest{
public static void main(String[] args) {
Animal[] animals = {
new Cat(\"Cat\", true),
new Dog(\"Dog\", true),
new Lion(\"Lion\", false)
};
for(Animal animal : animals){
System.out.println(animal.getName()+\", \"+animal.isPet());
animal.eat();
System.out.println();
}
}
}
/*
Sample Run:
Animal Parameterized constructor
Cat Parameterized constructor
Animal Parameterized constructor
Dog Parameterized constructor
Animal Parameterized constructor
Lion Parameterized constructor
Cat, true
Cat Eating
Dog, true
Dog Eating
Lion, false
Lion Eating
*/



