Animal.java class
package com.zakilive;
public abstract class Animal {
//defining attributes
String name;
int weight;
String gender;
public Animal(String name, int weight, String gender){ //defining constructors
this.name=name;
this.weight=weight;
this.gender=gender;
}
//behaviours
public void Eat(){
System.out.println(name+" eat");
}
public void Sleep(){
System.out.println(name+" Sleep");
}
public abstract void move(); //You cannot create instance of a abtract class
}
Fish.java
package com.zakilive;
public class Fish extends Animal {
public Fish(String name, int weight, String gender) {
super(name, weight, gender);
}
public void move() {
System.out.println("Fish is swimming");
}
public void Swim() {
System.out.println(name + " also Swimming...");
}
public static void moveAnimal() {
}
}
Zoo.java
package com.zakilive;
public class Zoo {
public static void main(String[] args) {
Animal sparrow1=new Sparrow("Bird1",9,"Male");
sparrow1.move();
Animal fish1=new Fish("Hilsha",99,"Male");
fish1.move();
moveAnimals(fish1);
moveAnimals(sparrow1);
// Animal animal1 = new Animal("Parrot", 20, "Male");
// animal1.Eat();
//
// Bird bird1 = new Bird("Parrot", 20, "male");
// //bird1.Fly();
//
// Animal animal2 = new Animal("Salmon", 50, "Female");
// animal2.Eat();
//
// Fish fish= new Fish("Salmon", 50, "Female");
// fish.Swim();
//
//
//
// Chicken chick1=new Chicken("Murgi",50,"Female");
// chick1.fly();
}
private static void moveAnimals(Animal animal) {
animal.move();
}
}
Sparrow.java
package com.zakilive;
public class Sparrow extends Bird implements Flyable {
public Sparrow(String name, int weight, String gender) {
super(name, weight, gender);
}
public void Fly(){
System.out.println("Sparrow flying high....");
}
}
Chicken.java
package com.zakilive;
public class Chicken extends Bird{
public Chicken(String name, int weight, String gender) {
super(name, weight, gender);
}
public void fly(){
System.out.println("not able to fly....");
}
}
Bird.java
package com.zakilive;
public class Bird extends Animal { //now bird is a child of Animal, Bird is a subclass and Animal is base class
public Bird(String name, int weight, String gender)
{
super(name, weight, gender);
}
public void move() {
System.out.println("Flapping wings");
}
}
Flyable.java
package com.zakilive;
public interface Flyable {
//interface only has abstract method
public void Fly(); //interface has no body
}